0
私は汎用プロットツールを作成したいと思います。例えば: メイン関数から私は単一のプロット関数を呼び出します(エラープロット) ここでこれを使いたいです異なるプロットを生成し、これらを組み合わせて単一のサブプロットにします。例えば:python matplotlibのサブプロットにfigオブジェクトのリストを追加する
私は別のデータをプロット機能を3回呼び出すと、メイン関数から:
`my_figs=list()
my_figs.append(error_plot("Fig_1", [1,2,3], [[1,1,1],[2,2,2],[3,3,3]]))
my_figs.append(error_plot("Fig_2", [a,b,c], [[1,1,1],[2,2,2],[3,3,3]]))
my_figs.append(error_plot("Fig_3", [2a,2b,3c], [[1,1,1],[2,2,2],[3,3,3]]))
プロッタ機能がこのようである:
def error_plot(title, x_data, y_data, x_name, y_name):
xtick_size = list()
for i in range(0, len(x_data)):
xtick_size.append(i)
mean_y_data = list()
var_y_data = list()
for i in range(len(y_data)):
mean_y_data.append(np.nanmean(y_data[i]))
var_y_data.append(np.nanvar(y_data[i]))
plt.figure()
ax = plt.subplot(111)
ax.errorbar(xtick_size, mean_y_data)
ax.plot(xtick_size, mean_y_data)
plt.xticks(xtick_size, x_data)
ax.set_xlabel(x_name)
ax.set_ylabel(y_name)
ax.set_title(title)
ax.set_xticklabels(ax.xaxis.get_majorticklabels(), rotation=45)
ax.grid()
return plt
私の問題は、私は知らないですこのリストからサブプロットを作成する方法は、これを行うためのスマートな方法はありますか?私が試したものを、現在は(動作しない)である。
def create_sub_plot(title, plots):
plot_rows = len(plots)
i = 1
for fig in plots:
ax = plt.subplot(plot_rows, 1, i)
i+=1
plt.show()