esi*_*lik 46 python matplotlib
我已经使用matplotlib来绘制一些实验结果(在这里讨论它:循环文件和绘图.但是,通过单击图像右侧保存图片会产生非常糟糕的质量/低分辨率图像.
from glob import glob
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
# loop over all files in the current directory ending with .txt
for fname in glob("./*.txt"):
# read file, skip header (1 line) and unpack into 3 variables
WL, ABS, T = np.genfromtxt(fname, skip_header=1, unpack=True)
# first plot
plt.plot(WL, T, label='BN', color='blue')
plt.xlabel('Wavelength (nm)')
plt.xlim(200,1000)
plt.ylim(0,100)
plt.ylabel('Transmittance, %')
mpl.rcParams.update({'font.size': 14})
#plt.legend(loc='lower center')
plt.title('')
plt.show()
plt.clf()
# second plot
plt.plot(WL, ABS, label='BN', color='red')
plt.xlabel('Wavelength (nm)')
plt.xlim(200,1000)
plt.ylabel('Absorbance, A')
mpl.rcParams.update({'font.size': 14})
#plt.legend()
plt.title('')
plt.show()
plt.clf()
Run Code Online (Sandbox Code Playgroud)
Oha*_*tan 69
您可以使用savefig()
导出到图像文件:
plt.savefig('filename.png')
Run Code Online (Sandbox Code Playgroud)
此外,您可以将dpi
参数指定为某个标量值,例如:
plt.savefig('filename.png', dpi=300)
Run Code Online (Sandbox Code Playgroud)
Chr*_*itz 19
对于在尝试从 matplotlib 保存高分辨率图像时发现这个问题的未来读者,我已经尝试了上面和其他地方的一些答案,并在此处进行了总结。
最佳结果:plt.savefig('filename.pdf')
然后在命令行上将此pdf转换为png,以便您可以在powerpoint中使用它:
pdftoppm -png -r 300 filename.pdf filename
或者简单地打开pdf并在adobe中裁剪到您需要的图像,另存为png并将图片导入powerpoint
不太成功的测试#1:plt.savefig('filename.png', dpi=300)
这确实以比正常分辨率高一点的方式保存图像,但对于出版物或某些演示来说还不够高。使用高达 2000 的 dpi 值在近距离观看时仍会产生模糊的图像。
不太成功的测试#2:plt.savefig('filename.pdf')
这不能在 Microsoft Office Professional Plus 2016 中打开(所以没有powerpoint),与谷歌幻灯片相同。
不太成功的测试#3:plt.savefig('filename.svg')
这也无法在 powerpoint 或 Google Slides 中打开,与上述问题相同。
不太成功的测试#4:plt.savefig('filename.pdf')
然后在命令行上转换为 png:
convert -density 300 filename.pdf filename.png
但是当近距离观看时,这仍然太模糊了。
不太成功的测试#5:plt.savefig('filename.pdf')
并在 GIMP 中打开,并导出为高质量的 png(将文件大小从 ~100 KB 增加到 ~75 MB)
不太成功的测试 #6:plt.savefig('filename.pdf')
然后在命令行上转换为 jpeg:
pdfimages -j filename.pdf filename
这没有产生任何错误,但即使在更改了几个参数后也没有在 Ubuntu 上产生输出。
Oph*_*rmi 16
在使用plt.figure(dpi=1200)
之前plt.plot...
和最后使用时plt.savefig(...
请参阅:http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.figure
和
http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.savefig
JMa*_*Mat 15
您可以将图表另存为svg以获得无损质量:
import matplotlib.pylab as plt
x = range(10)
plt.figure()
plt.plot(x,x)
plt.savefig("graph.svg")
Run Code Online (Sandbox Code Playgroud)
保存图形:
matplotlib.rcParams['savefig.dpi'] = 300
用于在使用时显示图形plt.show()
:
matplotlib.rcParams["figure.dpi"] = 100
只需将它们添加到顶部
归档时间: |
|
查看次数: |
71666 次 |
最近记录: |