前提・実現したいこと
Spyder3.3.6を使って、Python3.7でグラフを描画する関数を作っています。
発生している問題・エラーメッセージ
あるデータフレームからシリーズを抽出して散布図PNGファイルの出力まで関数の中でやろうとしているのですが、コンソール上にはグラフが描画できるのに、出力されるPNGは真っ白で軸すら描画されません。
該当のソースコード
Python3.7
dct_colm, axis_x, axis_y, axis_z, srs_x, srs_y, srs_z = input_fig_xyz() #独自関数input_fig_xyz()を用いて、データフレームから描画するシリーズを抽出 def scatter_1x1(dct_colm, axis_x, axis_y, axis_z, srs_x, srs_y, srs_z): import matplotlib.pyplot as plt #Figureの初期化--------------------------------------------------- plt.figure(figsize=(10, 10)) #...1 #plt.subplot(1,2,1) plt.axes([0.1, 0.1, 0.8, 0.8]) plt.scatter(srs_x, srs_y, s=100, c=srs_z, cmap='plasma') plt.xlim(10, 50) # x軸の表示範囲 plt.ylim(10, 50) # y軸の表示範囲 plt.title(dct_colm[axis_x] + ' vs ' + dct_colm[axis_y], fontsize=20) # タイトル plt.xlabel(dct_colm[axis_x], fontsize=20) # x軸ラベル plt.ylabel(dct_colm[axis_y], fontsize=20) # y軸ラベル plt.grid(True) # 目盛線の表示 plt.tick_params(labelsize = 12) # 目盛線のラベルサイズ plt.legend(loc='upper right') plt.colorbar() #カラーバーの表示 plt.show() return plt.savefig('result_'+ dct_colm[axis_x] + '_vs_' + dct_colm[axis_y] +'.png', dpi=150, pad_inches=0.0) #import matplotlib.pyplot as plt scatter_1x1(dct_colm, axis_x, axis_y, axis_z, srs_x, srs_y, srs_z) print('PNG出力完了!!')
試したこと
・戻り値をplt.show()にして、関数の外でPNG出力も試みましたが、結果は同じでした。。。
補足情報(FW/ツールのバージョンなど)
Spyder3.3.6
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/07 07:53