如何在保持纵横比的情况下增加保存图像的大小

5
我正在绘制数据并将其保存到文件中。
import matplotlib.pyplot as plt
fig=plt.figure(figsize=(10,10))
plt.gca().set_aspect(1)
plt.scatter(range(10), range(0,20,2))
fig.savefig("test.jpg")

有没有一种简单的方法可以使图形大小变大,但又不必猜测高度/宽度值以保持轴的纵横比?
如果我有多个子图并且希望保持它们的固定轴比例,那么这将更加困难。我想控制图形的大小(比例),但不引入图形中的空白边框。
1个回答

10

一种方法是使用.set_size_inches设置新的图像大小:

zoom = 2
w, h = fig.get_size_inches()
fig.set_size_inches(w * zoom, h * zoom)

这将在保持比例的同时改变大小。

另一种方法是仅增加dpi,如果您需要不同大小的保存图像:

fig, ax = plt.subplots(figsize=(10,10))
ax.set_aspect(1)
ax.scatter(range(10), range(0,20,2))
dpi = fig.get_dpi()   # This will get dpi that is set matplotlibrc
fig.savefig("test.jpg", dpi=dpi*2)  # Multiply dpi by whatever ration you want to increase the figure

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接