首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调整绘图大小

调整绘图大小
EN

Stack Overflow用户
提问于 2017-07-19 01:49:12
回答 1查看 3.8K关注 0票数 1

我被使用'figsize‘来改变图的大小弄糊涂了。也许我没有完全理解matplotlib是如何工作的。下面的代码来自我之前提出的一个问题,关于使用两个轴在一个图中绘制具有不同比例的系列。Prin_Balances是一个由浮点数组成的数据框架,列名应该是自解释的,并与特征相对应。

代码语言:javascript
复制
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 notebook,并且这两个图形只能通过向下滚动输出窗口来查看。

EN

回答 1

Stack Overflow用户

发布于 2017-07-19 02:11:45

尝试如下所示:

代码语言:javascript
复制
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关键字。)

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45173817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档