【发布时间】:2013-09-04 17:07:43
【问题描述】:
以下代码为我提供了一个在图上方和下方具有显着边距的图。我不知道如何消除明显的边距。 subplots_adjust 没有按预期工作。
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(range(10),range(10))
ax.set_aspect('equal')
plt.tight_layout()
tight_layout 消除了部分边距,但不是全部边距。
我想要的实际上是将纵横比设置为任何自定义值并同时消除空白。
更新:正如 Pierre H. 所说,关键是改变图形容器的大小。所以我的问题是:你能建议一种方法来将图形的大小适应具有任意纵横比的轴的大小吗?
换句话说,我首先在其上创建一个图形和一个轴,然后更改轴的大小(例如通过更改纵横比),这通常会使图形容器的一部分留空。在这个阶段,我们需要相应地改变图形的大小,以消除图形容器上的空白。
【问题讨论】:
-
试试
data = np.random.rand(15,20) -
您也可以使用
fig.set_size_inches设置图形的纵横比以匹配您的数据的纵横比 -
如果您只是对保存的图感兴趣,请查看使用
fig.savefig('whatever.ext', bbox_inches='tight')。
标签: python matplotlib