我正在繪制一個 3 y 軸的圖形,它顯示在 Spyder 的繪圖視窗中,而不是正確保存在檔案夾中。保存在檔案夾中的圖表是空白的。這是我的代碼:
fig, ax1 = plt.subplots()
ax2 = ax1.twinx()
ax3 = ax1.twinx()
plt.figure(figsize = (121, 75))
ax1.set_xlabel('time(s)')
ax1.set_ylabel('y1')
ax2.set_ylabel('y2')
ax3.set_ylabel('y3')
rspine = ax3.spines['right']
rspine.set_position(('axes', 1.15))
plt.xticks(fontsize=50)
plt.yticks(fontsize=50)
ax1.plot(fd[fd.columns[0]], fd[fd.columns[1]], color = 'r', linewidth = 2)
ax2.plot(fd[fd.columns[0]], fd[fd.columns[2]], color = 'g', linewidth = 2)
ax3.plot(fd[fd.columns[0]], fd[fd.columns[3]], color = 'b', linewidth = 2)
ax3.legend([ax1.get_lines()[0], ax2.get_lines()[0], ax3.get_lines()[0]], ['y1', 'y2', 'y3'])
plt.savefig(folder "/" str(file_name) "y1/2/3.png")
plt.close()
我在這里做錯了嗎?我不呼叫該show()函式,所以我不明白為什么圖表仍然顯示(當僅使用plt.figure(),plt.plot()然后plt.save()和,在同一圖表上繪制 3 y 軸時close(),它按預期作業)
編輯:我想要的是將圖形正確保存在我的檔案夾中,大小是我設定的plt.figure(),現在情況并非如此。
uj5u.com熱心網友回復:
我發現出了什么問題:我沒有寫
fig = plt.figure(figsize=(121, 75)) fig, ax1 = plt.subplots(),我不得不寫
fig, ax1 = plt.subplots(figsize=(121, 75))
圖表然后以指示的大小繪制,并且沒有顯示在 Spyder 的視窗中。
uj5u.com熱心網友回復:
您可以set_size_inches在保存圖之前使用。dpi功能也可用于增加圖形的解析度。
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.size'] = '50'
fig = plt.figure(figsize=(121, 75), dpi=200)
fig, ax1 = plt.subplots()
ax2 = ax1.twinx()
ax3 = ax1.twinx()
ax1.set_xlabel('time(s)')
ax1.set_ylabel('y1')
ax2.set_ylabel('y2')
ax3.set_ylabel('y3')
rspine = ax3.spines['right']
rspine.set_position(('axes', 1.05))
rspine2 = ax2.spines['right']
rspine2.set_position(('axes', 1.0))
# plt.xticks(fontsize=50)
# plt.yticks(fontsize=50)
ax1.plot(np.arange(100), np.random.rand(100), color='r', linewidth=2)
ax2.plot(np.arange(100), np.random.rand(100), color='g', linewidth=2)
ax3.plot(np.arange(100), np.random.rand(100), color='b', linewidth=2)
ax3.legend([ax1.get_lines()[0], ax2.get_lines()[0], ax3.get_lines()[0]], ['y1', 'y2', 'y3'])
# fig.tight_layout()
figure = plt.gcf()
figure.set_size_inches(121, 75)
plt.savefig("3.png", dpi=None)
plt.close()
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/475973.html
標籤:Python matplotlib 阴谋
上一篇:MinIO學習
