関数の出力を、その関数に渡される変数の名前を持つファイルに保存する必要があります。 私はstackoverflowユーザーから関数を使用しようとしました。変数名を関数に渡して出力ファイルを保存する方法は?
def var_name(**variables):
return [x for x in variables]
私のコードは次のように、
dist
は異なる配列を含むnumpyのアレイデータセットです。
MTnum=10
import matplotlib.pyplot as plt
import numpy as np
def Plot(dist, sav=False):
MT_dat = np.vsplit(dist,MTnum)
for i,mtdat in enumerate(MT_dat):
plt.figure(i)
for j in range(len(mtdat[0])-1):
plt.plot(MT_dat[i][:,0],MT_dat[i][:,j+1])
plt.xlabel('time')
plt.ylabel('distance')
plt.title('MT_'+str(i+1)+var_name(dist=dist)+'.png')
if sav == True:
plt.savefig('MT_'+str(i+1)+var_name(dist=dist)+'.png')
plt.show()
私は機能Plot(set1)
を使用する場合は、ファイルではなく、 "SET1" の "DIST" 接尾辞で保存されます。適切なやり方を提案してください。
私は複数のデータセットを渡したいので、私は関数を必要としていたので、手動入力は良い選択肢ではありません。 – Yash
あなたのコードで 'Plot()'と呼ばれる場所で、渡される変数の名前を知っているので、関数の出力を次のように保存することもできます。その名前のファイルどういうわけか複数ある場合は、それらを 'list'に保存してください。 – martineau
簡単に言えば、 'Plot()'を変更して、変数名と変数名をとります。 Plot(set、set1 ') '' Plot(set2、' set2 ') '' Plot(10、' no name ')のように呼び出すと、 'など – martineau