Ответ 1
Разница в шрифтах может быть вызвана неправильным параметром, устанавливающим изображения с помощью matplotlib или неправильной его интеграцией в итоговый документ. Я думаю, проблема в text.latex.preamble:\usepackage {lmodern}. Эта вещь работает очень плохо, и даже разработчики не гарантируют ее работоспособность, как вы можете найти здесь. В моем случае это вообще не работало.
Минимальные различия в шрифте, связанные с семейством шрифтов. Для исправления этого вам нужно: "font.family": "lmodern" в rc. Другие параметры и более подробные настройки можно найти здесь.
Чтобы подавить эту проблему, я использовал несколько иной метод - прямой. plt.rcParams [ 'text.latex.preamble'] = [г "\ usepackage {lmodern}" ]. Это не странно, но это сработало. Дополнительную информацию можно найти по ссылке выше.
Чтобы предотвратить эти эффекты, рекомендуем взглянуть на этот код:
import matplotlib.pyplot as plt
#Direct input
plt.rcParams['text.latex.preamble']=[r"\usepackage{lmodern}"]
#Options
params = {'text.usetex' : True,
'font.size' : 11,
'font.family' : 'lmodern',
'text.latex.unicode': True,
}
plt.rcParams.update(params)
fig = plt.figure()
#You must select the correct size of the plot in advance
fig.set_size_inches(3.54,3.54)
plt.plot([1,2,3,4])
plt.xlabel("Excitation-Energy")
plt.ylabel("Intensität")
plt.savefig("graph.pdf",
#This is simple recomendation for publication plots
dpi=1000,
# Plot will be occupy a maximum of available space
bbox_inches='tight',
)
И, наконец, перейдите к латексу:
\documentclass[11pt]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{graphicx}
\begin{document}
\begin{figure}
\begin{center}
\includegraphics{./graph}
\caption{Excitation-Energy}
\label{fig:graph}
\end{center}
\end{figure}
\end{document}
Результаты
Как видно из сравнения двух шрифтов - различий не существует
(1 - MatPlotlib, 2 - pdfLaTeX)