Ho le seguenti righe per rendere le annotazioni TeX nel mio matplotlib
trama:TeX, parentesi graffe, e la formattazione delle stringhe di sintassi nel 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()
Funziona perfettamente, ma il mio primo pignoli è che V
è un'unità di misura, quindi dovrebbe essere in modalità testo, invece di (in corsivo) modalità matematica. Io cerco la seguente stringa:
notes = r"\noindent $V_2 = {0:.5} \text{V}$".format(voltage)
che genera un errore, perché {
parentesi graffe }
sono la proprietà della stringa di Python formattazione sintassi. Nella riga sopra, solo {0:.5}
è corretto; {V}
viene trattato come un estraneo. Ad esempio:
s1 = "Hello"
s2 = "World!"
print "Some string {0} {1}".format(s1, s2)
dovrebbe dare Some string Hello World!
.
Come posso fare in modo che {
parentesi graffe di TeX }
non interferiscano con {
parentesi graffe di Python }
?