Neu*_*tar 3 python resolution image matplotlib
我有一个NxN数组,我正在使用Python绘图matplotlib.pyplot.imshow()
.N将非常大,我希望我的最终图像具有匹配的分辨率.但是,在随后的代码中,图像分辨率似乎没有随着N的增加而改变.我认为imshow()
(至少我如何使用它)具有固定的最小像素大小,该大小比显示具有全分辨率的NxN阵列所需的大.
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm
array = np.loadtxt("output.dat",unpack=True)
plt.figsize=(30.0, 30.0)
im = plt.imshow(array,cmap='hot')
plt.colorbar(im)
plt.savefig("mandelbrot.pdf")
Run Code Online (Sandbox Code Playgroud)
正如你在上面的代码中看到的那样,我已经尝试过试图plt.figsize
增加分辨率,但无济于事.我也尝试了各种输出格式(.pdf,.ps,.eps,.png),但这些都生成了比我想要的分辨率更低的图像..ps,.eps和.pdf图像看起来完全相同.
首先,我的问题是否存在imshow()
或是否需要更改我的代码的其他方面以产生更高分辨率的图像?
其次,如何生成更高分辨率的图像?
plt.figsize()
只会以英寸为单位更改图形的大小,同时保持默认的dpi.您可以通过在dpi
保存图形时传递关键字参数来设置图形的分辨率:
fig.savefig('filename.extension', dpi=XXX)
Run Code Online (Sandbox Code Playgroud)
因此,如果您的数字大小为4x6并保存,dpi=300
那么最终会得到1200x1800分辨率的图像.
您还可以使用设置默认的数字大小和dpi matplotlibrc
.