私は学校プロジェクトに取り組んでいます。私はすべてのプロットをプロットするためにmatplotlibを使用していますが、最初のプロットをコピーして、変数名を変更して他のプロット(サブプロット) 。Matplotlibワークフロー
あなたは、私がこのリンクでそれを行っているかを確認することができます
は、私は非常に感謝し、私のワークフローを改善する方法についてのフィードバックをいただければ幸いです。
私は学校プロジェクトに取り組んでいます。私はすべてのプロットをプロットするためにmatplotlibを使用していますが、最初のプロットをコピーして、変数名を変更して他のプロット(サブプロット) 。Matplotlibワークフロー
あなたは、私がこのリンクでそれを行っているかを確認することができます
は、私は非常に感謝し、私のワークフローを改善する方法についてのフィードバックをいただければ幸いです。
作図の仕組みを独自の関数に分離することを考慮して、各変数に対してその関数を呼び出すループをfor
にすることができます。ここでは例を示します(パラメータリストのうち2つだけを複製しましたが、残りの部分をどのように追加するかはわかります)。
fig, ax = plt.subplots(nrows=3, ncols= 2, figsize=(10,10))
x = np.linspace(0,1000000,num=10000)
def plot_maker(ax, x, var, var_name, ax_x, ax_y):
sh, l, sc = sts.weibull_min.fit(var, floc=0)
y = sts.weibull_min.pdf(x, sh, l, sc)
print('Weibull parameters for {0}:\n Scale: {1:2.2f}\n Shape: {2:02.2f}'.format(var_name, sc, sh))
ax[ax_x, ax_y].hist(var, normed=True)
ax[ax_x, ax_y].plot(x, y, 'r', lw=2)
params = [
[fuel['TTF or TBF'], 'Fuel TBF', 0, 0],
[engine['TBF(TTF)'], 'Engine TBF', 0, 1],
]
for param_list in params:
var, var_name, ax_x, ax_y = param_list
plot_maker(ax, x, var, var_name, ax_x, ax_y)
あり、これを書くための方法はたくさんありますが、重要なことは、あなたが望むようあなたが任意のパラメータを追加することができますので、あなたが、個々のパラメータからモデリングとプロット作りを分けることです。
プロット関数&を呼び出すことができます。プロットする軸(.reshpae(-1)を使用して軸を平坦にすることができます)と、必要な変数のリストプロットする。色や字幕のような他のパラメータのリストを送ることもできます。
def Plotter(axes,Yvars,Colors,x):
for ax, yvar, c in zip(axes,Yvars,Colors):
ax.plot(x,yvar,color = c)
fig, axes = plt.subplots(nrows=3, ncols= 2, figsize=(10,10))
Yvars = [y1,y2,y3,y4,y5]
Colors = ['b','b','g','g','r']
ax_to_plot = axes.reshape(-1)[0:5]
Plotter(ax_to_plot,Yvars,Colors,x)
plt.tight_layout()
これらの回答のいずれかがあなたの質問に答えているので、これらの回答の1つにマークを付けることを検討してください。 –