#python #matplotlib #scipy
#питон #matplotlib #сципи
Вопрос:
У меня была эта проблема в течение нескольких лет, но я никогда не пытался ее решить. Я использую python для обработки данных, и иногда я хочу использовать фильтр Савици-Голея, чтобы сгладить мои данные. В то же время я хочу отобразить эти результаты, и мне нравится использовать современный шрифт Latex computer для надписей на рисунках и т. Д. Проблема возникает, когда я одновременно использую фильтр Савици-Голея:
from scipy.signal import savgol_filter y_filt = savgol_filter(y,51,2)
и шрифт Latex:
rc('font',**{'family':'serif','serif':['Helvetica']}) rc('text',usetex=True)
Сценарий «зависает» , и сюжет не создается. Если я закомментирую rc('text',usetex=True)
, скрипт запустится нормально, и рисунок будет создан; однако не в том стиле шрифта, который я хочу. Кроме того, если я закомментирую y_filt = savgol_filter(y,51,2)
и оставлю rc('text',usetex=True)
без комментариев (и использую другой алгоритм сглаживания данных), будет получена цифра. Наконец, сценарий работает нормально, если я не использую никаких команд построения. Ниже приведены команды построения, которые я обычно использую:
from matplotlib import pyplot as plt from matplotlib import rc import matplotlib.gridspec as gridspec rc('font',**{'family':'serif','serif':['Helvetica']}) rc('text',usetex=True) figx = 2 figy = 4 fig = plt.figure() ax1 = plt.subplot2grid((1,1),(0,0)) ax1.plot(x,y_filt,color='k',lw=1) fig.set_size_inches(figx,figy) fig.savefig(dirFigs 'A1_extracted.pdf',dpi=600,bbox_inches='tight')
Я в недоумении, почему скрипт зависает при использовании savgol_filter и rc. Я запускаю Python 3.8.3 через Anaconda на macOS 11.6.1.
Заранее спасибо.