Matplotlib 子图图大小
Matplotlib subplots Figure size
我正在尝试减小带有标题和图例的图形的大小。虽然实际数字最终符合我的喜好,但图例仍然很大并且标题超出了图像。包含在我的一个情节的例子中。
下面是我绘制此数据的代码。有没有人建议让这个看起来更干净?谢谢!
fig, ax = plt.subplots(figsize=(3,2.25))
ax.plot(df3['difference'],'r-',label="Observations")
ax.plot(df4['difference'],'b-',label='MERRA')
ax.set_xlim(0,205)
ax.set_ylim(-60,60)
plt.xlabel('Year')
plt.ylabel('Snow Depth Departures(cm)')
plt.title('Station '+str(stations[c])+' Snow Depth Correlations R='+str("%0.2f"%corr[0])+'')
ax.autoscale(False)
ax.set_xticks(np.arange(0,193,48))
ax.set_xticklabels(['1979','1983','1987','1991','1995'])
plt.legend(loc='best')
#plt.show()
plt.savefig('Z:/Dan/'+str(stations[c])+'CorrPlot.png')
我想你几乎已经成功了。尝试在 ax
.
上设置 xlabel
、ylabel
、title
和 legend
fig, ax = plt.subplots(figsize=(3,2.25))
ax.plot(df3['difference'],'r-',label="Observations")
ax.plot(df4['difference'],'b-',label='MERRA')
ax.set_xlim(0,205)
ax.set_ylim(-60,60)
ax.set_xlabel('Year')
ax.set_ylabel('Snow Depth Departures(cm)')
ax.set_title('Station '+str(stations[c])+' Snow Depth Correlations R='+str("%0.2f"%corr[0])+'')
ax.autoscale(False)
ax.set_xticks(np.arange(0,193,48))
ax.set_xticklabels(['1979','1983','1987','1991','1995'])
ax.legend(loc='best')
这是我想出的(随机数据):
import matplotlib.pyplot as plt
import numpy as np
diff1 = np.random.randint(-50, 40, 193)
diff2 = np.random.randint(-55, 40, 193)
corr = [0.5]
fig, ax = plt.subplots(figsize=(3,2.25))
ax.plot(diff1,'r-',label="Observations")
ax.plot(diff2,'b-',label='MERRA')
ax.set_xlim(0,205)
ax.set_ylim(-60,60)
label = ax.set_xlabel('Year', fontsize=8)
ax.xaxis.set_label_coords(1.06, 0)
label = ax.set_ylabel('Snow Depth Departures(cm)', fontsize=8)
ax.yaxis.set_label_coords(-0.087, 0.5)
plt.title('Station 5555555 \nSnow Depth Correlations R='+str("%0.2f"%corr[0])+'', fontsize=10, y=0.875)
ax.autoscale(False)
ax.set_xticks(np.arange(0,193,48))
ax.set_xticklabels(['1979','1983','1987','1991','1995'])
plt.tick_params(axis='both', which='major', labelsize=6)
leg = plt.legend(loc=4, fontsize=8)
leg.get_frame().set_alpha(0.85)
plt.savefig('CorrPlot.png')
我正在尝试减小带有标题和图例的图形的大小。虽然实际数字最终符合我的喜好,但图例仍然很大并且标题超出了图像。包含在我的一个情节的例子中。
下面是我绘制此数据的代码。有没有人建议让这个看起来更干净?谢谢!
fig, ax = plt.subplots(figsize=(3,2.25))
ax.plot(df3['difference'],'r-',label="Observations")
ax.plot(df4['difference'],'b-',label='MERRA')
ax.set_xlim(0,205)
ax.set_ylim(-60,60)
plt.xlabel('Year')
plt.ylabel('Snow Depth Departures(cm)')
plt.title('Station '+str(stations[c])+' Snow Depth Correlations R='+str("%0.2f"%corr[0])+'')
ax.autoscale(False)
ax.set_xticks(np.arange(0,193,48))
ax.set_xticklabels(['1979','1983','1987','1991','1995'])
plt.legend(loc='best')
#plt.show()
plt.savefig('Z:/Dan/'+str(stations[c])+'CorrPlot.png')
我想你几乎已经成功了。尝试在 ax
.
xlabel
、ylabel
、title
和 legend
fig, ax = plt.subplots(figsize=(3,2.25))
ax.plot(df3['difference'],'r-',label="Observations")
ax.plot(df4['difference'],'b-',label='MERRA')
ax.set_xlim(0,205)
ax.set_ylim(-60,60)
ax.set_xlabel('Year')
ax.set_ylabel('Snow Depth Departures(cm)')
ax.set_title('Station '+str(stations[c])+' Snow Depth Correlations R='+str("%0.2f"%corr[0])+'')
ax.autoscale(False)
ax.set_xticks(np.arange(0,193,48))
ax.set_xticklabels(['1979','1983','1987','1991','1995'])
ax.legend(loc='best')
这是我想出的(随机数据):
import matplotlib.pyplot as plt
import numpy as np
diff1 = np.random.randint(-50, 40, 193)
diff2 = np.random.randint(-55, 40, 193)
corr = [0.5]
fig, ax = plt.subplots(figsize=(3,2.25))
ax.plot(diff1,'r-',label="Observations")
ax.plot(diff2,'b-',label='MERRA')
ax.set_xlim(0,205)
ax.set_ylim(-60,60)
label = ax.set_xlabel('Year', fontsize=8)
ax.xaxis.set_label_coords(1.06, 0)
label = ax.set_ylabel('Snow Depth Departures(cm)', fontsize=8)
ax.yaxis.set_label_coords(-0.087, 0.5)
plt.title('Station 5555555 \nSnow Depth Correlations R='+str("%0.2f"%corr[0])+'', fontsize=10, y=0.875)
ax.autoscale(False)
ax.set_xticks(np.arange(0,193,48))
ax.set_xticklabels(['1979','1983','1987','1991','1995'])
plt.tick_params(axis='both', which='major', labelsize=6)
leg = plt.legend(loc=4, fontsize=8)
leg.get_frame().set_alpha(0.85)
plt.savefig('CorrPlot.png')