簡體   English   中英

圖例標簽中的matplotlib乳膠與軸標簽中的比較

[英]matplotlib latex in legend label vs in axis label

對於matplotlib,您可以使用tex命令語法標記圖例和軸標簽。 應該在字符串前面添加r:r“my tex label”。 但我不明白的是為什么傳奇標簽關心,但軸標簽確實在乎。

為什么軸標簽的行為與圖例標簽不同(反之亦然)?

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()

那是不公平的比較。 來自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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM