Mit matplotlib ist es möglich, Achsen und Zeichnungen mit Latex zu beschriften. d.h.
import matplotlib.pyplot as plt
data = pandas.DataFrame({"A": [1, 2, 3, 4, 5],
"B": [6, 7, 8, 9, 10],
"C": [11, 12, 13, 14,15]})
data["A/B"] = data["A"]/data["B"]
plt.plot(data["C"], data["A/B"])
new_name1 = "new_name"
new_name2 = "new_name"
plt.title(r"$frac{A}{B}$")
plt.show()
Ich möchte Latex mit Pythons String kombinieren .format
Methode. (In diesem abstrakten Beispiel ist es nicht notwendig, aber in meiner eigenen Arbeit).
import matplotlib.pyplot as plt
data = pandas.DataFrame({"A": [1, 2, 3, 4, 5],
"B": [6, 7, 8, 9, 10],
"C": [11, 12, 13, 14,15]})
data["A/B"] = data["A"]/data["B"]
plt.plot(data["C"], data["A/B"])
new_name1 = "new_name1"
new_name2 = "new_name2"
plt.title(r"$frac{{}}{{}}$".format(new_name1, new_name2))
plt.show()
gibt mir:
Traceback (most recent call last):
File "/home/b3053674/Documents/LargeStudy/large_study/plot_locally.py", line 912, in <module>
plt.title(r"$frac{{}}{{}}$".format(new_name1, new_name2))
KeyError: "\{\}"
und
import matplotlib.pyplot as plt
data = pandas.DataFrame({"A": [1, 2, 3, 4, 5],
"B": [6, 7, 8, 9, 10],
"C": [11, 12, 13, 14,15]})
data["A/B"] = data["A"]/data["B"]
plt.plot(data["C"], data["A/B"])
new_name1 = "new_name"
new_name2 = "new_name"
plt.title(r"$frac{{}}{{}}$".format(new_name1, new_name2))
plt.show()
gibt mir:
ValueError:
frac{}{}
^
Expected frac{num}{den} (at char 5), (line:1, col:6)
Ist es auf diese Weise möglich, Zeichenfolgen mit Latex zu formatieren? Wenn ja, wie mache ich das?
Antworten:
2 für die Antwort № 1Sie benötigen drei Zahnspangen:
plt.title(r"$\frac{{{}}}{{{}}}$".format(new_name1, new_name2))
Das innere Paar {}
wird unter Verwendung der angegebenen Variablen und der äußeren formatiert {{
und }}
sind Escape-Sequenzen für Single {
und }
.
1 für die Antwort № 2
Ein einfacher Weg ist die Verwendung printf
-ähnliche Formatierung:
data = "frac{%s}{%s}" % ("A", "B")