如何在 matplotlib 中写出英文单词和希腊字母的组合?

How to write combinations of English words and Greek letters in matplotlib?

import matplotlib.pyplot as plt
import numpy as np

x = np.array([tau for tau in range(365)])
y = np.random.normal(0,1, 365)
plt.plot(x,y)
plt.xlabel(r"$\tau$")
plt.show()

我想在我的绘图标题和坐标轴标签中同时使用希腊字母和常规英文单词,但我在 matplotlibreference 中找不到如何写出它们的组合.比如我怎么写 Lag: \tau?

来自docs

Any text element can use math text. You should use raw strings (precede the quotes with an 'r'), and surround the math text with dollar signs ($), as in TeX. Regular text and mathtext can be interleaved within the same string.

因此,

plt.xlabel(r"Lag: $\tau$")

应该会提供您要查找的结果。

您可以在字符串之间使用代数和。在这种情况下,您的代码变为:

import matplotlib.pyplot as plt
import numpy as np

x = np.array([tau for tau in range(365)])
y = np.random.normal(0,1, 365)
plt.plot(x,y)
plt.xlabel('Lag: ' + r'$\tau$')
plt.show()

如果您想将上标 and/or 下标放在希腊字母或拉丁字母上,这个技巧也非常有用