gpt4 book ai didi

python - 在 Matplotlib 中使用 Unicode 希腊字母

转载 作者:太空宇宙 更新时间:2023-11-04 00:48:29 26 4
gpt4 key购买 nike

在 MATLAB 中,如果您在轴标签中键入“\alpha”,它将呈现“纯文本”希腊字符 alpha,而不需要 Latex。我希望对 Matplotlib 的 Pyplot 做同样的事情。

正在关注 How to use unicode symbols in matplotlib? ,我尝试了以下方法:

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties

if __name__ == "__main__":
plt.figure()
prop = FontProperties()
prop.set_file('STIXGeneral.ttf')
plt.xlabel(u"\u2736", fontproperties=prop)
plt.show()

x = np.linspace(-1,1,21)

plt.figure()
plt.plot(x,x)
plt.xlabel(u"\u03b1") # Attempt at creating an axis label with a Unicode alpha
# plt.xlabel(r'$\alpha$') # I'm aware that Latex is possible
plt.show()

但是,我收到一条以结尾的错误消息

IOError: [Errno 2] No such file or directory: 'STIXGeneral.ttf'

如果我省略第 3-10 行,我不会收到错误消息,但绘图会显示一个正方形而不是希腊字母 alpha:

enter image description here

可以用 Matplotlib 做到这一点吗? (我知道显示 Latex 的可能性,但更喜欢“纯文本”选项)。

最佳答案

一般来说,我认为这是因为您在 Windows 中运行它,对吗?

Windows 中,您需要指定字体目录的确切位置,而不仅仅是文件名。

这是我在 installation of the font 之后所做的.我去 control panel->font 找到字体的确切位置,它是 'C:\Windows\Fonts\STIXMath-Regular.otf' 在我的案件。然后我把代码改成

if __name__ == "__main__":
plt.figure()
prop = FontProperties(fname='C:\Windows\Fonts\STIXMath-Regular.otf')
# prop.set_file('STIXMath-Regular.otf')
plt.xlabel(u"\u2736", fontproperties=prop)

关于python - 在 Matplotlib 中使用 Unicode 希腊字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38236825/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com