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)
- joaquinfig.set_size_inches
来设置图形的纵横比以匹配数据的纵横比。 - tacaswellfig.savefig('whatever.ext', bbox_inches='tight')
。 - Joe Kingtonsavefig
和bbox_inches='tight'
仍然会在图形周围留下一些填充。使用fig.savefig('whatever.ext', bbox_inches='tight', pad_inches=0)
来移除这些填充。 - Rens Baardman