[英]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.