我正在尝试使用Matplotlib在轴标签中生成非拉丁字符(“μ”)的图,如下所示:
matplotlib.pyplot.xlabel(u'Sarcomere Length (μm)')
我在Linux上使用Cairo渲染器,我得到一个“盒子”而不是“μ”:
它适用于重音拉丁字符(如“é”)。有什么想法吗?
答案 0 :(得分:7)
这是一个字体问题。无论您设置为matplotlib的默认字体都没有该特定字符。有许多方法可以解决这个问题,但它会依赖于系统。 (这可能就像确保安装了适当的字体包一样简单。)
您可以设置matplotlib将在.matplotlibrc file中使用的字体。如果找不到您尝试使用的确切字体,则可以在.matplotlibrc文件中指定相应.ttf字体文件的完整路径。但通常你不需要这样做。
但是,在上面指定的特定情况下,有一种更简单的方法。
一般来说,最好使用matplotlib's mathtext rendering来表示希腊符号。例如。改为matplotlib.pyplot.xlabel(r'Sarcomere Length ($\mu m$)')
。