前提・実現したいこと
python3でグラフの描画プログラムを他のプログラムで起動するということをしたいのですが、プログラムを呼び出すとグラフが表示されません。どうすればよいでしょうか?
発生している問題・エラーメッセージ
Figure(640x480) Figure(640x480) 0
該当のソースコード
python3
1#graph_test.py 2import numpy as np 3import matplotlib.pyplot as plt 4 5def graph_test1(): 6 plt.title('test') 7 plt.xlabel("x") 8 plt.ylabel("y") 9 array_x = np.arange(0,5,1) 10 array_y = [1,2,3,4,5] 11 plt.plot(array_x,array_y,label="value") 12 plt.legend() 13 plt.show() 14 15def graph_test2(): 16 plt.title('test') 17 plt.xlabel("x") 18 plt.ylabel("y") 19 array_x = np.arange(0,5,1) 20 array_y = [5,4,3,2,1] 21 plt.plot(array_x,array_y,label="value") 22 plt.legend() 23 plt.show() 24 25if __name__ == '__main__': 26 graph_test1() 27 graph_test2() 28 29 30#start_test.py 31import subprocess 32 33output = subprocess.check_output(['python','graph_test.py']) 34print("") 35print(output.decode()) 36 37a = subprocess.call("python %s" % 'graph_test.py') 38print(a)
試したこと
start_test.pyで二つの呼び出し方を試しました。
outputの方ではどうやらbyte型で返ってくるようです。
値を表示することはできますが、グラフはできませんでした。
aのほうではなぜか0が返ってきます。
補足情報(FW/ツールのバージョンなど)
Anaconda3-64bitのspyderを利用しています。
回答2件
あなたの回答
tips
プレビュー