Python 调整绘图的大小

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

我被用“figsize”来改变地块的大小难倒了。也许我不完全理解matplotlib是如何工作的。下面的代码来自我之前的一个问题,关于使用两个轴在一个图形中绘制不同比例的系列。Prin_Balances是一个由浮点数组成的数据框,列名应该是不言自明的,并与功能相对应

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接口,该接口比代码中使用的状态机接口更强大/灵活。您没有回答我的问题……但无论如何,谢谢!