我正在尝试使用 Matplotlib 在轴标签中使用非拉丁字符(“μ”)生成绘图,如下所示:
matplotlib.pyplot.xlabel(u'Sarcomere Length (μm)')
我在 Linux 上使用 Cairo 渲染器,我得到一个“盒子”而不是“μ”:
它适用于带重音的拉丁字符(如“é”)。有什么想法吗?
最佳答案
这是一个字体问题。无论您将什么字体设置为 matplotlib 的默认字体,都没有该特定字符。有很多方法可以解决这个问题,但这将完全取决于系统。 (这可能就像确保安装了合适的字体包一样简单。)
您可以设置 matplotlib 将在您的 .matplotlibrc file 中使用的字体.如果找不到您尝试使用的确切字体,您可以在 .matplotlibrc 文件中指定相应 .ttf 字体文件的完整路径。不过,通常您不需要这样做。
但是,在您上面指定的特定情况下,还有一种更简单的方法。
一般来说,最好使用 matplotlib's mathtext rendering对于希腊符号之类的东西。例如。改为执行 matplotlib.pyplot.xlabel(r'Sarcomere Length ($\mu m$)')
。
关于python - 使用 Cairo 渲染器的 Matplotlib Unicode 轴标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5408862/