首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中增加高度(大小)和子图之间的间距

如何在python中增加高度(大小)和子图之间的间距
EN

Stack Overflow用户
提问于 2020-07-28 16:40:04
回答 1查看 86关注 0票数 2

我希望有两个相等大小的子图,并增加我的第三个子图的高度(大小)。此外,我的第三个情节坚持我的第二个次要情节。我想在第二个和第三个子情节之间有一个小的距离。值得一提的是,我的X轴对于所有的子图都是通用的。这是我代码的一部分。

代码语言:javascript
复制
from datetime import datetime, timedelta
from matplotlib import pyplot as plt
from matplotlib import dates as mpl_dates

ax1 = plt.subplot(311)
plt.plot(date,amount, color='gray', linewidth=0.3)
plt.ylabel('2-4 Hz')

   
ax2 = plt.subplot(312)
plt.plot(date,amount, color='brown', linewidth=0.3)
plt.ylabel('0.4-2 Hz')

ax3 = plt.subplot(313)
plt.bar (date, amount, color='gold', edgecolor='red', align='center')
plt.ylabel('rainfall(mm/day)')

ax1.get_shared_x_axes().join(ax1, ax2, ax3)
plt.subplots_adjust(hspace=0.01)


plt.show()

enter image description here

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-28 17:47:13

我会使用plt.subplots()中的gridspec_kw参数来解决这个问题,然后在第二个轴和第三个轴之间手动添加一些空格。使用gridspec_kw可以设置每个轴的高度比。

也许有一个更好的方法来添加第二个和第三个轴之间的空间,但我认为这符合您的需求。

代码语言:javascript
复制
fig, ax = plt.subplots(3, 1, sharex=True, gridspec_kw={'height_ratios':[1,1,2]})
fig.subplots_adjust(hspace=0.0)
ax1 = ax[0]
ax2 = ax[1]
ax3 = ax[2]
bbox = list(ax3.get_position().bounds)
bbox[3] = 0.9*bbox[3] # Reduce the height of the axis a bit.
ax3.set_position(bbox)

ax1.plot(date,amount, color='gray', linewidth=0.3)
ax1.set_ylabel('2-4 Hz')

ax2.plot(date,amount, color='brown', linewidth=0.3)
ax2.set_ylabel('0.4-2 Hz')

ax3.bar (date, amount, color='gold', edgecolor='red', align='center')
ax3.set_ylabel('rainfall(mm/day)')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63130193

复制
相关文章

相似问题

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