#python #math #matplotlib #tex #alignment
#python #математика #matplotlib #tex #выравнивание
Вопрос:
У меня есть следующие строки для аннотирования TeX на моем matplotlib
графике:
import matplotlib.pyplot as plt
from matplotlib import rc
rc('text', usetex=True)
rc('font', family='serif')
r = 1
v = 2
i = 3
notes = r"noindent$R_L = {0}\ V_2 = {1}\ I_2 = {2}$".format(r, v, i)
plt.annotate(notes, xy=(5,5), xytext=(7,7))
plt.show()
Как мне выровнять знаки равенства друг с другом? Я экспериментировал с несколькими методами, такими как begin{align}
, amp;
-placement, но я не совсем понял это правильно.
Ответ №1:
Используйте eqnarray
. Упрощенная версия вашего кода:
#!/usr/bin/python
import matplotlib.pyplot as plt
from matplotlib import rc
rc('text', usetex=True)
rc('font', family='serif')
r = 1
v = 2
i = 3
plt.plot([1,2,3],[2,3,4],'ro-')
plt.text(2,2,r"begin{eqnarray*}R_Lamp;= 0\ V_2amp;= 1\ I_2amp;= 2end{eqnarray*}")
#notes = r"noindent$$R_L = {0}\ V_2 = {1}\ I_2 = {2}$$".format(r, v, i)
#plt.annotate(notes, xy=(5,5), xytext=(7,7))
plt.show()
Чтобы заставить это работать, мне пришлось установить dvipng (как предложено здесь,http://matplotlib.sourceforge.net/users/usetex.html )