У меня есть следующие строки для рендеринга аннотаций TeX в моем графике matplotlib
:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rc
rc('text', usetex=True)
rc('font', family='serif')
voltage = 220
notes = r"\noindent $V_2 = {0:.5} V$".format(voltage)
plt.annotate(notes, xy=(5,5), xytext=(7,7))
plt.show()
Это работает отлично, но мой первый nitpick состоит в том, что V
является единицей измерения, поэтому он должен быть в текстовом режиме, а не в (курсивом) математическом режиме. Я пробую следующую строку:
notes = r"\noindent $V_2 = {0:.5} \text{V}$".format(voltage)
Это вызывает ошибку, потому что {
фигурные скобки }
являются собственностью синтаксиса форматирования строки Python. В приведенной выше строке используется только {0:.5}
; {V}
рассматривается как чужой. Например:
s1 = "Hello"
s2 = "World!"
print "Some string {0} {1}".format(s1, s2)
должен дать Some string Hello World!
.
Как убедиться, что фигурные скобки TeX {
}
не мешают Python {
фигурные скобки }
?