gpt4 book ai didi

python - matplotlib savefig 图像大小与 bbox_inches ='tight'

转载 作者:太空狗 更新时间:2023-10-29 17:30:25 28 4
gpt4 key购买 nike

我必须绘制一个矢量图,我只想看到没有轴、标题等的矢量,所以我尝试这样做:

pyplot.figure(None, figsize=(10, 16), dpi=100)
pyplot.quiver(data['x'], data['y'], data['u'], data['v'],
pivot='tail',
units='dots',
scale=0.2,
color='black')

pyplot.autoscale(tight=True)
pyplot.axis('off')
ax = pyplot.gca()
ax.xaxis.set_major_locator(pylab.NullLocator())
ax.yaxis.set_major_locator(pylab.NullLocator())
pyplot.savefig("test.png",
bbox_inches='tight',
transparent=True,
pad_inches=0)

尽管我努力获得 1000 x 1600 的图像,但我得到了一个 775 x 1280 的图像。如何使其达到所需的尺寸?谢谢。

更新 所提供的解决方案有效,除了在我的情况下我还必须手动设置轴限制。否则,matplotlib 无法计算出“紧密”的边界框。

最佳答案

import matplotlib.pyplot as plt
import numpy as np

sin, cos = np.sin, np.cos

fig = plt.figure(frameon = False)
fig.set_size_inches(5, 8)
ax = plt.Axes(fig, [0., 0., 1., 1.], )
ax.set_axis_off()
fig.add_axes(ax)

x = np.linspace(-4, 4, 20)
y = np.linspace(-4, 4, 20)
X, Y = np.meshgrid(x, y)
deg = np.arctan(Y**3-3*Y-X)
plt.quiver(X, Y, cos(deg), sin(deg), pivot='tail', units='dots', color='red')
plt.savefig('/tmp/test.png', dpi=200)

产量

enter image description here

您可以通过将图形设置为 5x8 英寸来使生成的图像为 1000x1600 像素

fig.set_size_inches(5, 8)

并使用 DPI=200 保存:

plt.savefig('/tmp/test.png', dpi=200)

删除边框的代码取自here .

(上面发布的图片未按比例缩放,因为 1000x1600 相当大)。

关于python - matplotlib savefig 图像大小与 bbox_inches ='tight',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13018115/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com