簡體   English   中英

如何在Matplotlib中使用Latex正確編寫'<'和'>'符號

[英]How to correctly write the '<' and '>' symbols using Latex in Matplotlib

我試圖使用Matplotlib繪制一個帶有圖例的圖,我想指定用於獲取我正在繪制的數據的一些變量的范圍。

所以我做了以下事情:

plt.rc('text', usetex=True)

plt.rc('font', family='serif')

plt.plot(E,P,"k*", label=r'with $\\vert \\Delta E \\vert$' + '< 0.039 && Mbc > 5.275') plt.plot(Eit,Pit, 'k.', label=r'after iteration: $\\vert \\Delta E \\vert$ < 0.098 && Mbc > 5.273')

但在情節中,'<'和'>'符號無法識別,我得到:¿或¡ 在此輸入圖像描述

我也試圖將它們放在$$之間,但它正在工作......我該如何解決這個問題?

請注意,每個label (在應用+之后)都是包含兩個$ s的字符串。 <>表示您只想這些標記之間進行操作 ,因此請移動其中一個以包含它。

另請注意, &同樣特別,但在這種情況下,你可以只在它前面放一個\\ (不是那種排版數學通常使用&& ,而是\\wedge或只是“和”。)

這似乎是由您使用文本字體(“襯線”)引起的具有在預期的地方<和>字形。 它在相應的插槽中具有¿和¡字形。 IIRC,原始的CM字體做到了這一點,但我認為“現代”系統使用更多的現代字體,沒有原始CM字體的限制。

您可以將相關部分放在數學模式中,就像Davis Herring在他的回答中所說的那樣 - 這可能是最好的方法,因為這些是數學符號,這使您免於必須找到具有“正確”字形的字體的瘋狂:

label=r'with $\vert \Delta E \vert < 0.039$ \&\& $Mbc > 5.275$')

或者您可以使用<和>的文本版本,但您必須擔心間距:

label=r'with $\vert \Delta E \vert$  \textless 0.039 \&\& Mbc \textgreater 5.275')

或者您可以使用在相應插槽中具有這些字形的字體:

plt.rc('font', family='monospace')

暫無
暫無

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

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