gpt4 book ai didi

matplotlib - 在 matplotlib 中调整大小来保存图形

转载 作者:行者123 更新时间:2023-12-02 03:51:00 30 4
gpt4 key购买 nike

在 matplotlib 中显示我的绘图时,我还尝试将其保存为使用不同尺寸的 png。我正在复制我的主要人物 (print_fig = fig),然后更改 print_fig 大小 (print_fig.set_size_inches(7,3))。但是,这适用于更改我的原始图,而不仅仅是 print_fig。有什么办法可以“克隆”一个图形对象吗?

我的代码看起来像这样:

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(10)

fig = plt.figure()
ax = plt.subplot(111)
ax.set_ylabel("y-label")

for i in xrange(5):
ax.plot(x, i * x, label='$y = %ix$' % i)

ax.legend()
#change dimension of figure for print
#clone fig displayed
print_fig = fig
print_fig.set_size_inches(7,3)
print_fig.savefig('print_fig.png')
plt.show()

这是我的屏幕的样子:
enter image description here

最佳答案

如果您想要以不同的分辨率保存 png,则无需调整图形大小。您可以使用 dpi 控制图像大小savefig 中的关键字.

当您调用 savefig , 默认情况下它使用 rc savefig.dpi (您可以在 .matplotlibrc 文件中查看它,通常为 100)。因此,如果您想更改输出文件的分辨率,只需按您想要的数量缩放 dpi:

plt.savefig('myfig100.png', dpi=100)
plt.savefig('myfig50.png', dpi=50)

第二个将具有第一个的一半的宽度和高度。

如果你想改变宽度/高度的比例,那么这当然没有帮助。您正在做的是改变图形比例以进行储蓄的正确方法。但它会改变你的窗口,如你所见。如果您在 show() 之后没有绘制任何其他内容,您可以执行以下操作:
  • 做你的绘图电话
  • 调用 show()
  • fig.set_size_inches(7,3)
  • 最后做你的savefig()

  • 这样,除非您对图形进行进一步更改,否则您将能够保存所需的尺寸,并且屏幕上的图形不会更新为这些尺寸。

    关于matplotlib - 在 matplotlib 中调整大小来保存图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14352223/

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