我对使用'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笔记本,只能通过向下滚动输出窗口来查看这两个图。
答案 0 :(得分:-1)
尝试这样的事情:
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_xticks()
可以使用,但不能使用rotation
关键字。我可以告诉您。)