Как показать f .__ doc__ в латексной форме, используя matplotlib? - PullRequest
0 голосов
/ 05 апреля 2019

У меня есть следующий код:

fig = plt.figure()
plt.rc('text', usetex=True)
plt.rc('font', family='serif')
plt.rcParams['text.latex.preamble']=[r"\usepackage{amsmath}"]
plt.suptitle(r"$\boldsymbol{f(x)=}$" + f.__doc__)
plt.plot()
plt.show()
fig.savefig("{}.pdf".format(f.__doc__), bbox_inches='tight')

, и я хочу, чтобы f. doc также отображался в латексе в plt.suptitle.

Если яустановите f.__doc__ в "tan(x)-2x" Я получаю

enter image description here

, и я ищу способ показать это:

enter image description here

Я думал, что, возможно, установка f.__doc__ в \boldsymbol{\tan(x)-2x} поможет как-то, но тогда я получу длинное латексное имя файла в fig.savefig.

Есть лиспособ получить латексную форму в suptitle при сохранении исходного имени файла?

1 Ответ

0 голосов
/ 05 апреля 2019

Вам просто нужно вставить строку в заголовок перед выходом из математического режима и среды \boldsymbol. Например:

plt.suptitle(r"$\boldsymbol{f(x)=" + f.__doc__ + "}$")

или

plt.suptitle(r"$\boldsymbol{{f(x)={}}}$".format(f.__doc__))

(Обратите внимание, что во втором варианте, поскольку фигурные скобки используются как в LaTeX, так и в python, нам нужны двойные скобки {{ }} для открытия и закрытия среды \boldsymbol).

Оба дают один и тот же показатель:

enter image description here

Если вы хотите, чтобы tan не был курсивом, вам необходимо ввести обратную косую черту перед строкой. Например:

plt.suptitle(r"$\boldsymbol{{f(x)=\{}}}$".format(f.__doc__))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...