手机微网站尺寸,常宁做网站,网站如何做等级保护,定制幸福这是我对Matplotlib最大的挫折之一.我经常使用栅格数据,例如我想添加色彩图,图例和一些标题.来自matplotlib库的任何简单示例都会导致不同的分辨率,因此重新采样数据.特别是在进行图像分析时,您不需要任何(不需要的)重采样.
这是我通常做的,虽然我很想知道是否有更简单或更好的…这是我对Matplotlib最大的挫折之一.我经常使用栅格数据,例如我想添加色彩图,图例和一些标题.来自matplotlib库的任何简单示例都会导致不同的分辨率,因此重新采样数据.特别是在进行图像分析时,您不需要任何(不需要的)重采样.
这是我通常做的,虽然我很想知道是否有更简单或更好的方法.
让我们开始加载图片并输出它就像它是相同的分辨率
import matplotlib.pyplot as plt
import urllib2
# load the image
img plt.imread(urllib2.urlopen(http://upload.wikimedia.org/wikipedia/en/thumb/5/56/Matplotlib_logo.svg/500px-Matplotlib_logo.svg.png))
# get the dimensions
ypixels, xpixels, bands img.shape
# get the size in inches
dpi 72.
xinch xpixels / dpi
yinch ypixels / dpi
# plot and save in the same size as the original
fig plt.figure(figsize(xinch,yinch))
ax plt.axes([0., 0., 1., 1.], frameonFalse, xticks[],yticks[])
ax.imshow(img, interpolationnone)
plt.savefig(D:\\mpl_logo.png, dpidpi, transparentTrue)
请注意,我手动定义轴位置,以便跨越整个图形.
以类似的方式,您可以在图像周围添加一些边距,以允许标签或颜色等.
此示例在图像上方增加了20的边距,然后用于绘制标题
fig plt.figure(figsize(xinch,yinch/.8))
ax plt.axes([0., 0., 1., .8], frameonFalse, xticks[],yticks[])
ax.imshow(img, interpolationnone)
ax.set_title(Matplotlib is fun!, size16, weightbold)
plt.savefig(D:\\mpl_logo_with_title.png, dpidpi)
因此,图形y尺寸(高度)增加,轴的y尺寸平均减小.这给出了较大的(整体)输出图像,但是轴面积仍然是相同的尺寸.
这可能是很好的,有一个图或轴属性.set_scale()来强制真正的1对x输出.