Skip to content

Commit

Permalink
Update figures for dissertation.
Browse files Browse the repository at this point in the history
Mostly prettying them up a bit, sometimes increasing resolutions.
Making sure the edges aren't cropped out a few times.
  • Loading branch information
DWesl committed Jan 25, 2022
1 parent 106ba43 commit 30fb290
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 18 deletions.
37 changes: 23 additions & 14 deletions cross_val_multi_tower_plots.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
import collections

import numpy as np
import matplotlib as mpl
mpl.use("Agg")
import matplotlib.pyplot as plt
import pandas as pd
import scipy
Expand All @@ -17,7 +19,8 @@
sns.set_context("paper")
sns.set(style="ticks")
sns.set_palette("colorblind")

mpl.rcParams["figure.dpi"] = 144
mpl.rcParams["savefig.dpi"] = 300

############################################################
# Define description function
Expand Down Expand Up @@ -272,6 +275,9 @@ def long_description(df, ci_width=0.95):
if isinstance(child, plt.Text):
child.set_visible(False)

for ax in grid.axes[:, 0]:
ax.set_ylabel("Annual\nModulation\nof Daily Cycle")

grid.axes[0, -1].set_title("", visible=True)
grid.axes[0, 0].set_xlim(0, None)
grid.set_titles(
Expand All @@ -280,15 +286,15 @@ def long_description(df, ci_width=0.95):
)
grid.set_xlabels("Cross-Validation\nError")
grid.fig.tight_layout()
grid.fig.savefig("multi-tower-cross-validation-error-by-function.pdf")
grid.fig.savefig("multi-tower-cross-validation-error-by-function.png")
grid.fig.savefig("multi-tower-cross-validation-error-by-function.pdf", bbox_inches="tight")
grid.fig.savefig("multi-tower-cross-validation-error-by-function.png", bbox_inches="tight")

for ax in grid.axes.flat:
ax.set_xscale("log")
ax.set_xlim(0.08e9, 4e9)

grid.fig.savefig("multi-tower-log-cross-validation-error-by-function.pdf")
grid.fig.savefig("multi-tower-log-cross-validation-error-by-function.png")
grid.fig.savefig("multi-tower-log-cross-validation-error-by-function.pdf", bbox_inches="tight")
grid.fig.savefig("multi-tower-log-cross-validation-error-by-function.png", bbox_inches="tight")

############################################################
# Draw boxplots showing details of distribution for best functions
Expand All @@ -297,7 +303,7 @@ def long_description(df, ci_width=0.95):
).mean() < 3e8
df_for_best_plot = df_for_plot.loc[(low_cv_err.index[low_cv_err.values], slice(None)), :]
for slot_var in ("Daily Cycle", "Annual Cycle", "Annual Modulation\nof Daily Cycle"):
df_for_best_plot[slot_var] = pd.Categorical(
df_for_best_plot.loc[:, slot_var] = pd.Categorical(
df_for_best_plot[slot_var],
).remove_unused_categories()

Expand All @@ -318,6 +324,9 @@ def long_description(df, ci_width=0.95):
if isinstance(child, plt.Text):
child.set_visible(False)

for ax in grid.axes[:, 0]:
ax.set_ylabel("Annual\nModulation\nof Daily Cycle")

grid.axes[0, -1].set_title("", visible=True)
grid.axes[0, 0].set_xlim(0, None)
grid.set_titles(
Expand All @@ -326,15 +335,15 @@ def long_description(df, ci_width=0.95):
)
grid.set_xlabels("Cross-Validation\nError")
grid.fig.tight_layout()
grid.fig.savefig("multi-tower-cross-validation-best-error-by-function.pdf")
grid.fig.savefig("multi-tower-cross-validation-best-error-by-function.png")
grid.fig.savefig("multi-tower-cross-validation-best-error-by-function.pdf", bbox_inches="tight")
grid.fig.savefig("multi-tower-cross-validation-best-error-by-function.png", bbox_inches="tight")

for ax in grid.axes.flat:
ax.set_xscale("log")
ax.set_xlim(0.08e9, 4e9)

grid.fig.savefig("multi-tower-log-cross-validation-best-error-by-function.pdf")
grid.fig.savefig("multi-tower-log-cross-validation-best-error-by-function.png")
grid.fig.savefig("multi-tower-log-cross-validation-best-error-by-function.pdf", bbox_inches="tight")
grid.fig.savefig("multi-tower-log-cross-validation-best-error-by-function.png", bbox_inches="tight")

############################################################
# Sorted box plots
Expand Down Expand Up @@ -408,8 +417,8 @@ def long_description(df, ci_width=0.95):
for ax in grid.axes[0, :]:
ylim = grid.axes[0, 0].get_ylim()

grid.fig.savefig("multi-tower-cross-validation-log-error-anova-variations.pdf")
grid.fig.savefig("multi-tower-cross-validation-log-error-anova-variations.png")
grid.fig.savefig("multi-tower-cross-validation-log-error-anova-variations.pdf", bbox_inches="tight")
grid.fig.savefig("multi-tower-cross-validation-log-error-anova-variations.png", bbox_inches="tight")

############################################################
# Compare best means with CIs
Expand All @@ -434,8 +443,8 @@ def long_description(df, ci_width=0.95):
for ax in grid.axes[0, :]:
ylim = grid.axes[0, 0].get_ylim()

grid.fig.savefig("multi-tower-cross-validation-best-error-anova-variations.pdf")
grid.fig.savefig("multi-tower-cross-validation-best-error-anova-variations.png")
grid.fig.savefig("multi-tower-cross-validation-best-error-anova-variations.pdf", bbox_inches="tight")
grid.fig.savefig("multi-tower-cross-validation-best-error-anova-variations.png", bbox_inches="tight")

############################################################
# Calculate summary statistics
Expand Down
11 changes: 7 additions & 4 deletions presentation_plots.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
import correlation_utils
import flux_correlation_function_fits

mpl.rcParams["figure.dpi"] = 144
mpl.rcParams["savefig.dpi"] = 300
register_matplotlib_converters()

############################################################
Expand Down Expand Up @@ -504,7 +506,8 @@
fig.savefig(
"ameriflux-towers-at-least-{n_years:d}-years-data.pdf".format(
n_years=MIN_YEARS_DATA
)
),
bbox_inches="tight"
)

for site_name in LONG_DATA_SITES:
Expand Down Expand Up @@ -604,7 +607,7 @@ def savefig(

print("Saving figure with just CASA")
# fig.savefig("casa-ensemble-mean-nee-2010-07.png", dpi=288)
savefig(fig, "casa-ensemble-mean-nee-2010-07.png", dpi=96, ncolors=128)
savefig(fig, "casa-ensemble-mean-nee-2010-07.png", dpi=144, ncolors=128)

ax.plot(
LONG_DATA_LONGITUDES,
Expand All @@ -617,7 +620,7 @@ def savefig(
ax.set_title("CASA NEE for July 2010 with tower locations")
print("Saving figure with CASA and tower locs")
# fig.savefig("casa-ensemble-mean-nee-2020-07-with-towers.png", dpi=288)
savefig(fig, "casa-ensemble-mean-nee-2010-07-with-towers.png", dpi=96, ncolors=128)
savefig(fig, "casa-ensemble-mean-nee-2010-07-with-towers.png", dpi=144, ncolors=128)

ax.plot(
LONG_DATA_LONGITUDES.sel(
Expand All @@ -636,7 +639,7 @@ def savefig(
savefig(
fig,
"casa-ensemble-mean-nee-2010-07-with-towers-highlighted.png",
dpi=96,
dpi=144,
ncolors=128,
)

Expand Down

0 comments on commit 30fb290

Please sign in to comment.