【问题标题】:Matplotlib - getting no spaces between multiple lines with matshowMatplotlib - 使用 matshow 在多行之间没有空格
【发布时间】:2015-12-29 04:30:44
【问题描述】:

如何在本例中的子图之间没有空格?

(如果我有更多的行,请保持良好的可视化)

我已经看到,我们看到的内容可以随着 figsize 的值而发生很大变化。

那么我们必须猜测 figsize 的“正确”值吗?

fig = plt.figure()
ax = fig.add_subplot(211)
ax.matshow([[1,2,3,4,5]])
ax = fig.add_subplot(212)
ax.matshow([[5,4,3,2,1]])
plt.subplots_adjust(wspace=0, hspace=0)

我尝试使用不同的东西,例如 gridspec,但我遇到了完全相同的问题。

【问题讨论】:

  • 即使指定wspace=0, hspace=0,子图之间也没有空格的原因是由于使用matshow/imshow 而没有aspect='auto'。 Matplotlib 的布局模型一开始可能会有点混乱。不要过多地插入我自己的答案,但这里有一个更完整的解释:stackoverflow.com/questions/32633322/… 简而言之,您要么必须将aspect="auto"matshow 一起使用,要么更改图形的大小。您也可以使用axes_grid1 模块来执行此操作。
  • 非常感谢。这正是我正在寻找的答案。

标签: python matplotlib visualization heatmap


【解决方案1】:

看看Tight Layout Guide,您可以像plt.tight_layout() 一样使用它和参数来控制您的人物的填充,以使其适合。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-26
    • 1970-01-01
    • 2011-04-01
    • 2018-02-25
    • 2013-09-24
    • 2017-11-28
    相关资源
    最近更新 更多