资讯专栏INFORMATION COLUMN

python matplotlib 中文显示参数设置

Pocher / 643人阅读

摘要:最近在学习著名的绘图包时发现,有时候图例等设置无法正常显示中文,于是就想把这个问题解决了。原因大致就是库中没有中文字体。

最近在学习python著名的绘图包matplotlib时发现,有时候图例等设置无法正常显示中文,于是就想把这个问题解决了。

PS:本文仅针对Windows,其他平台仅供参考。

原因

大致就是matplotlib库中没有中文字体。1
我安装的anaconda,这是对应的matplotlib的字体所在文件夹(怎么找到matplotlib配置文件夹所在,下面解决方案会叙述,easy man~)。

C:Anaconda64Libsite-packagesmatplotlibmpl-datafonts	tf
解决方案

现在整理一下我认为比较好的解决方案:

每次编写代码时进行参数设置

#coding:utf-8
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]=["SimHei"] #用来正常显示中文标签
plt.rcParams["axes.unicode_minus"]=False #用来正常显示负号
#有中文出现的情况,需要u"内容"

一劳永逸(推荐)

import matplotlib
matplotlib.matplotlib_fname() #将会获得matplotlib包所在文件夹

然后进入C:Anaconda64Libsite-packagesmatplotlibmpl-data该文件夹下就能看到matplotlibrc配置文件。2

1)打开该配置文件,找到下面这行:

#font.serif          : Bitstream Vera Serif, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif

然后,将前面的注释去掉!
2)找中文字体放到matplotlib字体库中。
在Windows文件夹下:C:WindowsFontsMicrosoft YaHei UI复制该字体,然后粘贴到C:Anaconda64Libsite-packagesmatplotlibmpl-datafonts tf文件夹,并给它重命名为Vera.ttf

注明:这一步的作用其实就是将matplotlib中一个默认的字体替换为我们复制过来的中文字体,将这个中文字体命名改为matplotlib中有的字体名。3

其实,还有其他方案45,但是貌似在我这儿没成功。

补充

坐标轴的负号正常显示6

#去掉了注释符号,同时,改为False
axes.unicode_minus  : False
举例
#coding:utf-8
import matplotlib.pyplot as plt
plt.plot((1,2,3),(4,3,-1))
plt.xlabel(u"横坐标")
plt.ylabel(u"纵坐标")
plt.show()

最后

博客链接:

Michael翔


  • matplotlib 中文乱码解决 ↩

  • 官网-Customizing matplotlib ↩

  • matplotlib中,修改配置文件,让它默认使用的字体就是中文字体 ↩

  • 解决matplotlib中文乱码问题(Windows) ↩

  • python画图包seaborn和matplotlib中文字体显示 ↩

  • 如何在matplotlib里显示中文 ↩

  • 文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

    转载请注明本文地址:https://www.ucloud.cn/yun/37933.html

    相关文章

    • python matplotlib 中文显示参数设置

      摘要:最近在学习著名的绘图包时发现,有时候图例等设置无法正常显示中文,于是就想把这个问题解决了。原因大致就是库中没有中文字体。 最近在学习python著名的绘图包matplotlib时发现,有时候图例等设置无法正常显示中文,于是就想把这个问题解决了。 PS:本文仅针对Windows,其他平台仅供参考。 原因 大致就是matplotlib库中没有中文字体。1我安装的anaconda,这是对应的...

      Ethan815 评论0 收藏0
    • 怎么用Python matplotlib库解决画图中出现中文显示显示成方框的的问题

        小编写这篇文章的一个最为主要的目的,就是去给大家去做一个解释,解释关于在python中的一些问题,甚至是出现的各种相关的疑难杂症问题,比如出现了中文负数的问题,下面小编就给大家详细的去做一个解答。  解决Python中matplotlib库画图中文和负号显示为方框的问题  注意:  语言版本:Python 3.10.4  编译器版本:PyCharm 2021.3.2  操作系统:Win11  ...

      89542767 评论0 收藏0
    • Python--matplotlib绘图可视化知识点整理

      摘要:本文作为学习过程中对一些常用知识点的整理,方便查找。所有绘图操作仅对当前图和当前坐标有效。表示把图标分割成的网格。每个对象都是一个拥有自己坐标系统的绘图区域。避免比例压缩为椭圆数据可视化入门教程绘图核心剖析如何调整子图的大小 本文作为学习过程中对matplotlib一些常用知识点的整理,方便查找。 强烈推荐ipython无论你工作在什么项目上,IPython都是值得推荐的。利用ipyt...

      nifhlheimr 评论0 收藏0
    • Matplotlib中文字体显示

      摘要:在上安装不使用,直接使用安装即可向添加中文字体微软雅黑不能默认使用中文字体显示字符的原因只是因为其未包含中文字体文件,所以导入中文字体文件到中即可。 在Mac上安装Matplotlib 不使用Anaconda,直接使用pip安装即可: pip3 install matplotlib 向Matplotlib添加中文字体Microsoft YaHei(微软雅黑) Matplotl...

      dingda 评论0 收藏0
    • 装扮你的Jupyter

      摘要:显示中文此外,单独拎出来的另一个原因是,还有一个中文显示的问题。首先我们来看可以使用的字体你应该看到下面这样的表格然后找到支持中文的字体名,然后设置的默认字体当然,你可以添加到刚才的配置中,或者采用这个博客的方法。 又到摆脱重复工作,换个心情,然而并没有软用的时间了。这次,教大家如何搭建一个好看的jupyter环境。 安装Jupyter 先来展示一下我的环境 python: 3.5....

      leo108 评论0 收藏0

    发表评论

    0条评论

    最新活动
    阅读需要支付1元查看
    <