『python作業』matplotlibライブラリの注意点
1、複数の図を描く場合、1枚の図を描くたびにpltを使用する.close()図を閉じます.そうしないと、各図が次の図に蓄積されます.
2、複数のグラフを描く場合plt.figure(fig_i)を使用して作成
3、同じ図に複数のサブ図を描く場合plt.subplot(221)、221は、2行2列の計4つの図を確立し、この図を第1の図に示すことを意味する.
4、複数のデータソースは複数のグラフを描き、各グラフには複数のサブグラフがあり、以下のコードを使用できます.
2、複数のグラフを描く場合plt.figure(fig_i)を使用して作成
3、同じ図に複数のサブ図を描く場合plt.subplot(221)、221は、2行2列の計4つの図を確立し、この図を第1の図に示すことを意味する.
4、複数のデータソースは複数のグラフを描き、各グラフには複数のサブグラフがあり、以下のコードを使用できます.
def data_plt(data_tuple, save_path="YDY_fig", name=""):
"""
:return:
"""
data_1, data_2, data_3, data_4 = data_tuple
# ,
path = os.getcwd()
dir_path = path + "//%s" % save_path
if not os.path.exists(dir_path):
os.mkdir(dir_path)
fig_i = 1
for i, col in enumerate(data_1.columns):
# NAN
data_1_filter_nan = df_filter_nan(data_1, col)
data_2_filter_nan = df_filter_nan(data_2, col)
data_3_filter_nan = df_filter_nan(data_3, col)
data_4_filter_nan = df_filter_nan(data_4, col)
data_filter_nan_tuple = data_1_filter_nan, data_2_filter_nan, data_3_filter_nan, data_4_filter_nan
step = re.findall(r"[0-9]+", col)[0]
plt.figure(fig_i) # fig_i
sub_fig_i = 221
for data_i in data_filter_nan_tuple:
NT = scs.norm.fit(data_i[col]) # ` `
plt.sca(plt.subplot(sub_fig_i)) # sub_fig_i
plt.hist(data_i[col]) #
plt.axis([0, 100, 0, len(data_i)])
plt.ylabel('Freq')
plt.title(r'$ step=%s, \ \mu=%.2f ,\ \sigma=%.2f $' % (step, float(NT[0]), float(NT[1])))
plt.grid(True)
sub_fig_i += 1
plt.savefig(r"%s/%s_%s.png" % (save_path, name, col))
fig_i += 1
# plt.show()
#
plt.close()
return None