Ответ 1
Вы можете использовать savefig()
для экспорта в файл изображения:
plt.savefig('filename.png')
Кроме того, вы можете указать аргумент dpi
для некоторого скалярного значения, например:
plt.savefig('filename.png', dpi=300)
Я использовал matplotlib для построения некоторых экспериментальных результатов (обсуждался здесь: Looping over files and plotting Однако сохранение изображения, щелкнув правой кнопкой мыши на изображении, дает изображения с очень низким качеством/низким разрешением.
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()
Пример графика того, что я ищу: примерный график
Вы можете использовать savefig()
для экспорта в файл изображения:
plt.savefig('filename.png')
Кроме того, вы можете указать аргумент dpi
для некоторого скалярного значения, например:
plt.savefig('filename.png', dpi=300)
Вы можете сохранить свой график как svg за качество без потерь:
import matplotlib.pylab as plt
x = range(10)
plt.figure()
plt.plot(x,x)
plt.savefig("graph.svg")
используйте 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
В конце цикла for() вы можете использовать функцию savefig()
вместо plt.show() и задать имя, dpi и формат вашей фигуры.
например. 1000 dpi и формат eps достаточно хорошего качества, и если вы хотите сохранить каждое изображение в папке./с именами "Sample1.eps", "Sample2.eps" и т.д., Вы можете просто добавить следующий код:
for fname in glob("./*.txt"):
# Your previous code goes here
[...]
plt.savefig("./{}.eps".format(fname), bbox_inches='tight', format='eps', dpi=1000)