【问题标题】:Matplotlib subplots Figure sizeMatplotlib 子图 图大小
【发布时间】:2015-07-15 16:40:05
【问题描述】:

我正在尝试减小带有标题和图例的人物的大小。虽然实际数字最终符合我的喜好,但图例仍然很大,并且标题从图像中消失了。包含在我的一个情节的例子中。

下面是我绘制这些数据的代码。有没有人有建议让这个看起来更干净?谢谢!

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')

【问题讨论】:

    标签: python matplotlib figure


    【解决方案1】:

    我想你几乎拥有它。尝试在ax 上设置xlabelylabeltitlelegend

    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')
    

    【讨论】:

    • 您也可以将fontsize='small' 添加到legend 通话中。在制作小人物时很有用。
    • @cphlewis 添加了更改并编辑了答案帖子。还是有点皱。
    • 没关系,制作字体大小和指定数字,一切都合适。谢谢!
    【解决方案2】:

    这是我想出的(随机数据):

    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')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-14
      • 2015-08-15
      • 2021-08-05
      • 2017-07-25
      • 2017-03-01
      相关资源
      最近更新 更多