gpt4 book ai didi

matplotlib:拉伸(stretch)图像以覆盖整个图形

转载 作者:行者123 更新时间:2023-12-01 10:06:40 28 4
gpt4 key购买 nike

我已经习惯了使用 matlab,现在正在尝试转换 matplotlib 和 numpy。 matplotlib 中是否有一种方法可以让您绘制的图像占据整个图形窗口。

import numpy as np
import matplotlib.pyplot as plt

# get image im as nparray
# ........

plt.figure()
plt.imshow(im)
plt.set_cmap('hot')

plt.savefig("frame.png")

我希望图像保持其纵横比并缩放到图形的大小......所以当我保存它时,它的大小与输入图形的大小完全相同,并且完全被图像覆盖。

谢谢。

最佳答案

我使用以下代码段做到了这一点。

#!/usr/bin/env python
import numpy as np
import matplotlib.cm as cm
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt
from pylab import *

delta = 0.025
x = y = np.arange(-3.0, 3.0, delta)
X, Y = np.meshgrid(x, y)
Z1 = mlab.bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0)
Z2 = mlab.bivariate_normal(X, Y, 1.5, 0.5, 1, 1)
Z = Z2-Z1 # difference of Gaussians
ax = Axes(plt.gcf(),[0,0,1,1],yticks=[],xticks=[],frame_on=False)
plt.gcf().delaxes(plt.gca())
plt.gcf().add_axes(ax)
im = plt.imshow(Z, cmap=cm.gray)

plt.show()

请注意,两侧的灰色边框与轴的纵横比有关,可通过设置 aspect='equal' 更改。 , 或 aspect='auto'或者你的比例。

正如Zhenya 在评论 Similar StackOverflow Question 中提到的那样
提到 savefig的参数的 bbox_inches='tight'pad_inches=-1或 p ad_inches=0

关于matplotlib:拉伸(stretch)图像以覆盖整个图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9642053/

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