对于matplotlib,您可以使用tex命令语法标记图例和轴标签。您假设将r添加到字符串前面:r"我的tex标签"。但我不明白为什么传奇标签没有关心但轴标签确实在乎。
为什么轴标签的行为与图例标签不同(反之亦然)?
MWE1 - 崩溃
## Hello World! I crash!
import numpy as np
import matplotlib.pyplot as plt
x = np.ones(5)
plt.plot(x, x, label="$\bar{x}$ (but not really)")
plt.xlabel("$\bar{y}$ (but not really)") # I cause the crash
plt.show()
MWE2 - 没有崩溃
import numpy as np
import matplotlib.pyplot as plt
x = np.ones(5)
plt.plot(x, x, label="$\bar{x}$ (but not really)") # I still don't need prepended r
plt.xlabel(r"$\bar{y}$ (but not really)")
plt.show()
答案 0 :(得分:4)
这是不公平的比较。来自MWE2的情节标签从未使用过,因为没有传说;因此它不会引起任何错误。
使用plt.legend()
生成此图例后,它当然会导致与包含MathText命令且不包含原始字符串的所有其他字符串相同的错误。
崩溃了:
import numpy as np
import matplotlib.pyplot as plt
x = np.ones(5)
plt.plot(x, x, label="$\bar{x}$ (but not really)")
plt.xlabel(r"$\bar{y}$ (but not really)")
plt.legend()
plt.show()
这不会崩溃,因为所有字符串都是原始字符串
import numpy as np
import matplotlib.pyplot as plt
x = np.ones(5)
plt.plot(x, x, label=r"$\bar{x}$ (but not really)")
plt.xlabel(r"$\bar{y}$ (but not really)")
plt.legend()
plt.show()