macos下matplotlib中文乱码

Posted 取名好困难

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了macos下matplotlib中文乱码相关的知识,希望对你有一定的参考价值。

第一步是拷贝字体文件到文件目录下和删除matplolib字体缓存文件

 ~\site-packages\matplotlib\mpl-data\fonts\ttf\(就是这)

import matplotlib print(matplotlib.matplotlib_fname()) # 会显示路径 ~\site-packages\matplotlib\mpl-data

 网上其它人在windows下都不拷贝字体文件到目录中,但是我在mac下必须拷贝,不知道原因。然后就是删除~/.cache/matplotlib/下的文件

第二步是修改matplotlib下的font_manager.py源文件以适应*.ttc字体文件

def get_fontext_synonyms(fontext):
    """
    Return a list of file extensions extensions that are synonyms for
    the given file extension *fileext*.
    """
    return {ttf: (ttf, otf),  # 此行改为‘ttf‘: (‘ttf‘, ‘otf‘, ‘ttc‘),
            otf: (ttf, otf),
            afm: (afm,)}[fontext]

 如果使用*.ttf字体可不改

第三步

myfont = matplotlib.font_manager.FontProperties(fname=/System/Library/Fonts/PingFang.ttc)
print(myfont.get_name())  # =>PingFang HK

matplotlib.rcParams[font.sans-serif] = PingFang HK
matplotlib.rcParams[axes.unicode_minus] = False  # -符号

plt.title("哈哈")
plt.show()

 PingFang.ttc文件要拷贝进matplotlib下的ttf文件夹中,字体名字和字体文件名字未必相同,最好先查一下

 

最后谁知道是否可以不复制字体文件到mp-data文件夹下?

以上是关于macos下matplotlib中文乱码的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu环境下 matplotlib 图例中文乱码

matplotlib 中文乱码问题

linux下python matplotlib中文乱码解决

Ubuntu环境下 matplotlib 图例中文乱码

解决google colab环境下使用matplotlib绘图中文乱码问题

matplotlib图例中文乱码问题