matplotlib:拉伸图像以覆盖整个图形 [英] matplotlib: Stretch image to cover the whole figure

查看:78
本文介绍了matplotlib:拉伸图像以覆盖整个图形的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am quite used to working with matlab and now trying to make the shift matplotlib and numpy. Is there a way in matplotlib that an image you are plotting occupies the whole figure window.

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")

我希望图像保持其长宽比并缩放到图形的大小...因此,当我执行savefig时,它的大小与输入图形的大小完全相同,并且完全被图像覆盖.

I want the image to maintain its aspect ratio and scale to the size of the figure ... so when I do savefig it exactly the same size as the input figure, and it is completely covered by the image.

谢谢.

推荐答案

我使用以下代码段进行了此操作.

I did this using the following snippet.

#!/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'来更改或您的比率.

Note the grey border on the sides is related to the aspect rario of the Axes which is altered by setting aspect='equal', or aspect='auto' or your ratio.

也正如Zhenya在评论类似的StackOverflow问题中所提到的提到了 bbox_inches ='tight' pad_inches = -1 或p ad_inches = 0

Also as mentioned by Zhenya in the comments Similar StackOverflow Question mentions the parameters to savefig of bbox_inches='tight' and pad_inches=-1 or pad_inches=0

这篇关于matplotlib:拉伸图像以覆盖整个图形的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆