python – 如何在tight_layout失败时减少水平子图间距?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 如何在tight_layout失败时减少水平子图间距?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1687字,纯文字阅读大概需要3分钟。
内容图文
![python – 如何在tight_layout失败时减少水平子图间距?](/upload/InfoBanner/zyjiaocheng/724/2a0a4a7f5219441fbfa3c360811318e2.jpg)
我正在尝试使用subplot2grid在matplotlib中创建一个具有不同行和列跨度的子图的单个图形.
例如,以下代码:
import matplotlib.pyplot as plt
import numpy as n
fig = plt.figure()
ax1 = plt.subplot2grid((2, 5), (0, 0), rowspan=2, colspan=2)
ax2 = plt.subplot2grid((2, 5), (0, 2))
ax2_2 = plt.subplot2grid((2, 5), (0, 3))
ax2_3 = plt.subplot2grid((2, 5), (0, 4))
ax3 = plt.subplot2grid((2, 5), (1, 2), colspan=3) #, sharex=ax2)
xs = n.linspace(0, 2*n.pi, 100)
ax1.plot(xs, n.sin(xs))
ax2.plot(xs, n.cos(xs))
ax2_2.plot(xs, n.tan(xs))
ax2_3.plot(xs, n.sin(xs))
ax3.plot(xs, n.cos(xs))
ax2.set_xticklabels([])
ax2.set_yticklabels([])
ax2_2.set_xticklabels([])
ax2_2.set_yticklabels([])
ax2_3.set_xticklabels([])
ax2_3.set_yticklabels([])
# This comes from a separate attempt to make the ticks invisible, but seems to make no change.
plt.setp(ax2.get_xticklabels(), visible=False)
plt.setp(ax2.get_yticklabels(), visible=False)
plt.setp(ax2_2.get_xticklabels(), visible=False)
plt.setp(ax2_2.get_yticklabels(), visible=False)
plt.setp(ax2_3.get_xticklabels(), visible=False)
plt.setp(ax2_3.get_yticklabels(), visible=False)
fig.set_size_inches(6.5, 2.85)
fig.tight_layout()
# I tried several things here - subplots_adjust improves the vertical spacing a little, but not the horizontal.
fig.subplots_adjust(hspace=0.1)
fig.savefig('test.png', dpi=100)
这使得一个数字如下:
问题在于右上角的3个单细胞子图,每个子图只有大约70%的宽度. tight_layout否则很好地处理间距,但我无法弄清楚为什么这个空间没有填充,或如何解决它.
所以…有没有人知道如何做到这一点,使子图获取完整的可用宽度?
解决方法:
当使用subplots_adjust()时,hspace参数将调整垂直空间,而wspace参数将调整水平空间,因此您可能需要的是:
fig.subplots_adjust(wspace=0.1)
内容总结
以上是互联网集市为您收集整理的python – 如何在tight_layout失败时减少水平子图间距?全部内容,希望文章能够帮你解决python – 如何在tight_layout失败时减少水平子图间距?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。