我已经习惯了使用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")
Run Code Online (Sandbox Code Playgroud)
我希望图像保持其纵横比并缩放到图形的大小......所以当我保存它时,它与输入图形完全相同,并且它完全被图像覆盖.
谢谢.
我使用以下代码片段完成了此操作.
#!/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()
Run Code Online (Sandbox Code Playgroud)
注意对两侧的灰色边框是与轴的方面rario这是通过设置改变aspect='equal',或者aspect='auto'或者你比.
另外,作为由振亚在评论中提到类似的StackOverflow问题
提到的参数savefig的bbox_inches='tight'和 pad_inches=-1或Pad_inches=0
| 归档时间: |
|
| 查看次数: |
4056 次 |
| 最近记录: |