Python 调整绘图的大小
我被用“figsize”来改变地块的大小难倒了。也许我不完全理解matplotlib是如何工作的。下面的代码来自我之前的一个问题,关于使用两个轴在一个图形中绘制不同比例的系列。Prin_Balances是一个由浮点数组成的数据框,列名应该是不言自明的,并与功能相对应Python 调整绘图的大小,python,matplotlib,plot,Python,Matplotlib,Plot,我被用“figsize”来改变地块的大小难倒了。也许我不完全理解matplotlib是如何工作的。下面的代码来自我之前的一个问题,关于使用两个轴在一个图形中绘制不同比例的系列。Prin_Balances是一个由浮点数组成的数据框,列名应该是不言自明的,并与功能相对应 fig, ax = plt.subplots() # plt.figure(figsize=(9,6)) plt.xticks(rotation=45) plt.plot(Prin_Balances['UPB'], '--r',
fig, ax = plt.subplots()
# plt.figure(figsize=(9,6))
plt.xticks(rotation=45)
plt.plot(Prin_Balances['UPB'], '--r', label='UPB')
plt.legend()
ax.tick_params('Bal', colors='r')
# Get second axis
ax2 = ax.twinx()
plt.plot(Prin_Balances['1 Mos'], label='1 Mos', color = 'blue')
plt.plot(Prin_Balances['2 Mos'], label='2 Mos', color = 'green')
plt.plot(Prin_Balances['3 Mos'], label='3 Mos', color = 'yellow')
plt.plot(Prin_Balances['> 3 Mos'], label='>3 Mos', color = 'purple')
plt.legend()
ax.tick_params('vals', colors='b')
现在,当我运行这段代码时,我得到了一个漂亮但很小的图形:
如何更改此图表的大小?代码中调用第二行('plt.figure')的点似乎对输出有影响,在某些情况下,在具有不同标签的新绘图上方绘制一个空框。(我没有包括这张照片,因为我使用的是Juypter笔记本,只能通过向下滚动输出窗口来查看这两张图。尝试以下方法:
fig = plt.figure(figsize=(9,6))
ax = fig.add_subplot(121)
# ax.xticks(rotation=45)
ax.plot(Prin_Balances['UPB'], '--r', label='UPB')
ax.legend()
ax.tick_params('Bal', colors='r')
# Get second axis
ax2 = fig.add_subplot(122)
ax2.plot(Prin_Balances['1 Mos'], label='1 Mos', color = 'blue')
ax2.plot(Prin_Balances['2 Mos'], label='2 Mos', color = 'green')
ax2.plot(Prin_Balances['3 Mos'], label='3 Mos', color = 'yellow')
ax2.plot(Prin_Balances['> 3 Mos'], label='>3 Mos', color = 'purple')
ax2.legend()
ax2.tick_params('vals', colors='b')
plt.show()
ax
是一个AxesSubplot
,它没有xticks()
方法,因此您必须找到等效的方法。(set\u xticks()
有效,但我可以告诉您,rotation
关键字不起作用。)在上面的答案中,请注意有两种方法,一种是代码中的方法,图(figsize=尺寸)
,另一个正在更改rcParams
。我更喜欢使用rcParams
,因为它适用于所有绘图。谢谢!这么简单的疏忽。它让我发疯了。我感兴趣的是根据上面的代码调整大小,而不是xticks问题。请参阅上面Raf的评论,它解决了我的问题。我提供的代码允许您调整大小您的绘图。它使用matplotlib的OOP接口,该接口比代码中使用的状态机接口更强大/灵活。您没有回答我的问题……但无论如何,谢谢!