Fixing some plotting issues for swp2
parent
541d1d7348
commit
658693c2a2
37
swp2.py
37
swp2.py
|
|
@ -486,6 +486,10 @@ def plot_scaled_theta(plot_lines, prop, title, mu, tgen, swp2_lines = None, ax =
|
||||||
# Plotting (fig 3) which is the same but log scale for x
|
# Plotting (fig 3) which is the same but log scale for x
|
||||||
p3, = ax3.plot(x2_plot, y2_plot, linestyle="-", alpha=0.75, lw=2, label = 'swp2', color="black")
|
p3, = ax3.plot(x2_plot, y2_plot, linestyle="-", alpha=0.75, lw=2, label = 'swp2', color="black")
|
||||||
lines_fig3.append(p3)
|
lines_fig3.append(p3)
|
||||||
|
min_x = 0
|
||||||
|
min_y = 0
|
||||||
|
max_x = 0
|
||||||
|
max_y = 0
|
||||||
for breaks, plot in enumerate(plot_lines):
|
for breaks, plot in enumerate(plot_lines):
|
||||||
x,y=plot
|
x,y=plot
|
||||||
x2_plot, y2_plot = plot_straight_x_y(x,y)
|
x2_plot, y2_plot = plot_straight_x_y(x,y)
|
||||||
|
|
@ -493,6 +497,10 @@ def plot_scaled_theta(plot_lines, prop, title, mu, tgen, swp2_lines = None, ax =
|
||||||
if breaks in subset:
|
if breaks in subset:
|
||||||
masking_alpha = 0.75
|
masking_alpha = 0.75
|
||||||
autoscale = True
|
autoscale = True
|
||||||
|
min_x = min(min_x, min(x2_plot))
|
||||||
|
min_y = min(min_y, min(y2_plot))
|
||||||
|
max_x = max(max_x, max(x2_plot))
|
||||||
|
max_y = max(max_y, max(y2_plot))
|
||||||
else:
|
else:
|
||||||
masking_alpha = 0
|
masking_alpha = 0
|
||||||
autoscale = False
|
autoscale = False
|
||||||
|
|
@ -516,17 +524,21 @@ def plot_scaled_theta(plot_lines, prop, title, mu, tgen, swp2_lines = None, ax =
|
||||||
# if not ax, then use the plt syntax, not ax...
|
# if not ax, then use the plt syntax, not ax...
|
||||||
plt.xlabel(xlabel, fontsize=fnt_size)
|
plt.xlabel(xlabel, fontsize=fnt_size)
|
||||||
plt.ylabel(ylabel, fontsize=fnt_size)
|
plt.ylabel(ylabel, fontsize=fnt_size)
|
||||||
plt.xlim(left=0)
|
#plt.xlim(left=0)
|
||||||
xlim_val = plt.gca().get_xlim()
|
#xlim_val = plt.gca().get_xlim()
|
||||||
x_ticks = list(plt.xticks())[0]
|
x_ticks = list(plt.xticks())[0]
|
||||||
plt.gca().set_xticks(x_ticks)
|
# plt.gca().set_xticks(x_ticks)
|
||||||
plt.gca().set_xlim(xlim_val)
|
plt.xticks(x_ticks)
|
||||||
|
# plt.gca().set_xlim(xlim_val)
|
||||||
|
plt.xlim(min_x, max_x)
|
||||||
plt.gca().set_xticklabels([f'{k:.0e}\n{k/(mu):.0e}\n{k/(mu)*tgen:.0e}' for k in x_ticks], fontsize = fnt_size*0.5)
|
plt.gca().set_xticklabels([f'{k:.0e}\n{k/(mu):.0e}\n{k/(mu)*tgen:.0e}' for k in x_ticks], fontsize = fnt_size*0.5)
|
||||||
# rescale y to effective pop size
|
# rescale y to effective pop size
|
||||||
ylim_val = plt.gca().get_ylim()
|
# ylim_val = plt.gca().get_ylim()
|
||||||
y_ticks = list(plt.yticks())[0]
|
y_ticks = list(plt.yticks())[0]
|
||||||
plt.gca().set_yticks(y_ticks)
|
# plt.gca().set_yticks(y_ticks)
|
||||||
plt.gca().set_ylim(ylim_val)
|
# plt.gca().set_ylim(ylim_val)
|
||||||
|
plt.yticks(y_ticks)
|
||||||
|
plt.ylim(min_y, max_y+(max_y*0.05))
|
||||||
plt.gca().set_yticklabels([f'{k/(4*mu):.0e}' for k in y_ticks], fontsize = fnt_size*0.5)
|
plt.gca().set_yticklabels([f'{k/(4*mu):.0e}' for k in y_ticks], fontsize = fnt_size*0.5)
|
||||||
plt.title(title, fontsize=fnt_size)
|
plt.title(title, fontsize=fnt_size)
|
||||||
plt.legend(handles=lines_fig2, loc='best', fontsize = fnt_size*0.5)
|
plt.legend(handles=lines_fig2, loc='best', fontsize = fnt_size*0.5)
|
||||||
|
|
@ -541,22 +553,21 @@ def plot_scaled_theta(plot_lines, prop, title, mu, tgen, swp2_lines = None, ax =
|
||||||
ax2.set_ylabel(ylabel, fontsize=fnt_size)
|
ax2.set_ylabel(ylabel, fontsize=fnt_size)
|
||||||
ax2.set_title(title, fontsize=fnt_size)
|
ax2.set_title(title, fontsize=fnt_size)
|
||||||
ax2.legend(handles=lines_fig2, loc='best', fontsize = fnt_size*0.5)
|
ax2.legend(handles=lines_fig2, loc='best', fontsize = fnt_size*0.5)
|
||||||
ax3.set_xscale('log')
|
|
||||||
ax3.set_yscale('log')
|
|
||||||
ax3.set_xlabel(xlabel, fontsize=fnt_size)
|
ax3.set_xlabel(xlabel, fontsize=fnt_size)
|
||||||
ax3.set_ylabel(ylabel, fontsize=fnt_size)
|
ax3.set_ylabel(ylabel, fontsize=fnt_size)
|
||||||
ax3.set_title(title, fontsize=fnt_size)
|
ax3.set_title(title, fontsize=fnt_size)
|
||||||
ax3.legend(handles=lines_fig3, loc='best', fontsize = fnt_size*0.5)
|
ax3.legend(handles=lines_fig3, loc='best', fontsize = fnt_size*0.5)
|
||||||
xlim_val = ax3.get_xlim()
|
ax3.set_xscale('log')
|
||||||
|
ax3.set_yscale('log')
|
||||||
|
# Scale the x-axis
|
||||||
x_ticks = list(ax3.get_xticks())
|
x_ticks = list(ax3.get_xticks())
|
||||||
ax3.set_xticks(x_ticks)
|
ax3.set_xticks(x_ticks)
|
||||||
ax3.set_xlim(xlim_val)
|
ax3.set_xlim(min(x_ticks), max_x)
|
||||||
ax3.set_xticklabels([f'{k:.0e}\n{k/(mu):.0e}\n{k/(mu)*tgen:.0e}' for k in x_ticks], fontsize = fnt_size*0.5)
|
ax3.set_xticklabels([f'{k:.0e}\n{k/(mu):.0e}\n{k/(mu)*tgen:.0e}' for k in x_ticks], fontsize = fnt_size*0.5)
|
||||||
ylim_val = ax3.get_ylim()
|
|
||||||
# rescale y to effective pop size
|
# rescale y to effective pop size
|
||||||
y_ticks = list(ax3.get_yticks())
|
y_ticks = list(ax3.get_yticks())
|
||||||
ax3.set_yticks(y_ticks)
|
ax3.set_yticks(y_ticks)
|
||||||
ax3.set_ylim(ylim_val)
|
ax3.set_ylim(min(y_ticks), max_y+(max_y*0.5))
|
||||||
ax3.set_yticklabels([f'{k/(4*mu):.0e}' for k in y_ticks], fontsize = fnt_size*0.5)
|
ax3.set_yticklabels([f'{k/(4*mu):.0e}' for k in y_ticks], fontsize = fnt_size*0.5)
|
||||||
plt.text(-0.13, -0.135, 'Coal. time\nGen. time\nYears', ha='left', va='bottom', transform=ax3.transAxes)
|
plt.text(-0.13, -0.135, 'Coal. time\nGen. time\nYears', ha='left', va='bottom', transform=ax3.transAxes)
|
||||||
plt.subplots_adjust(bottom=0.2) # Adjust the value as needed
|
plt.subplots_adjust(bottom=0.2) # Adjust the value as needed
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue