У меня есть специальная функция построения графиков com_snaps(), которую я не хочу менять и хочу вызвать ее дважды. Проблема в том, что я никогда не вижу график, полученный в результате первого вызова:
# snaps_to_plot2 is the first plot
# snaps_to_plot is the second plot
colors2 = ['black']
colors = ['green']
linewidths2 = [2]
linewidths = [1]
fig, ax1, ax2 = com_snaps(grid_x2, grid_y2, snaps_to_plot2, inds_to_plot, labels, colors2, linewidths2)
fig, ax1, ax2 = com_snaps(grid_x, grid_y, snaps_to_plot, inds_to_plot, labels, colors, linewidths)
ax1.legend(), ax2.legend()
plt.tight_layout()
plt.savefig('figure.png', dpi=300)
def com_snaps(grid_x, grid_y, snaps_to_plot, inds_to_plot, labels, colors, linewidths):
fig, (ax1, ax2) = plt.subplots(2, 1)
for i, snaps in enumerate(snaps_to_plot):
plot_snaps(grid_x, grid_y, snaps, inds_to_plot,
#label=labels[i],
fig_ax=(fig, ax1, ax2),
color=colors[i],
linewidth=linewidths[i])
return fig, ax1, ax2
гдеplot_snaps() использует только команды построения графиков типа ax1.plot(), ax2.plot().
Я перепробовал все, plt.show() между ними, после и т. д. Проблема в том, что я перезаписываю фигуру?
У меня есть специальная функция построения графиков com_snaps(), которую я не хочу менять и хочу вызвать ее дважды. Проблема в том, что я никогда не вижу график, полученный в результате первого вызова: [code]# snaps_to_plot2 is the first plot # snaps_to_plot is the second plot colors2 = ['black'] colors = ['green'] linewidths2 = [2] linewidths = [1]
def com_snaps(grid_x, grid_y, snaps_to_plot, inds_to_plot, labels, colors, linewidths): fig, (ax1, ax2) = plt.subplots(2, 1) for i, snaps in enumerate(snaps_to_plot): plot_snaps(grid_x, grid_y, snaps, inds_to_plot, #label=labels[i], fig_ax=(fig, ax1, ax2), color=colors[i], linewidth=linewidths[i]) return fig, ax1, ax2 [/code] гдеplot_snaps() использует только команды построения графиков типа ax1.plot(), ax2.plot(). Я перепробовал все, plt.show() между ними, после и т. д. Проблема в том, что я перезаписываю фигуру?