将普通字符串转换为乳胶字符串以在 matplotlib 中使用

2022-01-24 00:00:00 python matplotlib latex

问题描述

所以我知道如果我想在我的绘图中使用 LaTeX 字符串而不是例如 "sin(x)",我应该使用 r"sin(x)".

So I know that if I want to use a LaTeX string in my plots I should instead of for example "sin(x)", I should use r"sin(x)".

但是如果我有 a = "sin(x)" 并且我现在想使用这个 a 作为我的绘图标签,我该如何将它转换为 <代码>r"sin(x)"?当我这样做时 type(r"sin(x))" 只是说字符串.

But if I have a = "sin(x)" and I now want to use this a as my plot label, how can I convert it to r"sin(x)"? When I do type(r"sin(x))" is just says string.


解决方案

请注意,要激活 MathText,字符串必须位于美元符号 ($) 之间.

Mind that to have MathText activated the string must be in between Dollar signs ($).

如果您的乳胶包含反斜杠,您需要从头开始使用原始字符串

In case your latex contains backslashes you need to either use a raw string from the beginning

a = r"$	an(
ucdot x)$"

或转义反斜杠

a = "$\tan(\nu\cdot x)$"

如果您尝试其他答案中的类似内容,您会得到意想不到的结果

If you try something like in the other answer, you'd get unexpected results

a = "	an(
ucdot x)"
b = r"$"+a+"$"
ax.plot(x, y, label=b)

结果

相关文章