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

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

原因

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

C:\Anaconda64\Lib\site-packages\matplotlib\mpl-data\fonts\ttf

解决方案

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

  • 每次编写代码时进行参数设置
#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:\Anaconda64\Lib\site-packages\matplotlib\mpl-data该文件夹下就能看到matplotlibrc配置文件。[^2]
[^2]:官网-Customizing matplotlib

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:\Windows\Fonts\Microsoft YaHei UI复制该字体,然后粘贴到C:\Anaconda64\Lib\site-packages\matplotlib\mpl-data\fonts\ttf文件夹,并给它重命名为Vera.ttf

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

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

补充

坐标轴的负号正常显示4

#去掉了注释符号,同时,改为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()


  1. matplotlib 中文乱码解决↩

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

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

  4. 如何在matplotlib里显示中文↩

转载于:https://www.cnblogs.com/michael-xiang/p/10466789.html

Python Matplotlib 中文显示参数设置相关推荐

  1. matplotlib中文显示以及设置图片大小

    1.找到字体路径 mac字体的路径一般都是在:/System/Library/Fonts 下 如果不放心可在:访达>字体册>简体中文>在访达中显示>显示简介>位置,在将字 ...

  2. Python matplotlib中文显示异常,导入simhei字体有误

    查找matplotlib字体安装路径 import matplotlib print(matplotlib.matplotlib_fname()) 下载simhei.tff字体 下载'SimHei' ...

  3. linux的matplotlib中文异常,Linux中matplotlib 中文显示问题解决

    1.下载下载中文 arial unicode ms 字体到 /home 目录 2. 拷贝字体到 usr/share/fonts 下: sudo cp ~/arial\ unicode\ ms.ttf ...

  4. Python matplotlib 画图 显示中文 中文乱码 无法显示负号

    Python matplotlib 画图 显示中文 中文乱码 无法显示负号 import matplotlib.pyplot as pltplt.rcParams["font.sans-se ...

  5. Mac字体路径,解决matplotlib中文显示问题,超级好用~

    不需要用fc-list,找到字体路径,解决matplotlib中文显示问题. 1.找到字体路径 mac字体的路径一般都是在:/System/Library/Fonts 下 如果不放心可在:访达> ...

  6. 01_Linux系统系统语言查询,设置Xshell工具,中文显示,测试Xshell中文字符显示,Linux中文显示乱码设置

              Xshell是一个强大的安全终端模拟软件,它支持SSH1,SSH2,以及Microsoft Windows平台的TELNETNetSarang Xshell 4 Build 0 ...

  7. 如何解决python 图表中文显示乱码问题(matlplotlib 包)

    如何解决python 图表中文显示乱码问题(matlplotlib 包) 参考文章: (1)如何解决python 图表中文显示乱码问题(matlplotlib 包) (2)https://www.cn ...

  8. 解决linux服务器上matplotlib中文显示乱码问题

    解决linux服务器上matplotlib中文显示乱码问题 参考文章: (1)解决linux服务器上matplotlib中文显示乱码问题 (2)https://www.cnblogs.com/Bell ...

  9. 解决matplotlib中文显示问题

    解决matplotlib中文显示问题 参考文章: (1)解决matplotlib中文显示问题 (2)https://www.cnblogs.com/weiweiwei233/p/9307619.htm ...

最新文章

  1. 【单片机】以输出方波为例的 定时器使用
  2. Centos 编译安装sphinx-0.9.9全文检索
  3. Carring data across redirect requests
  4. 吴恩达 coursera ML 第二课总结+作业答案
  5. 64位linux安装mysql数据库吗_CentOS7 64位安装mysql教程
  6. c语言 段位,C语言 段位
  7. 网上讨论“电商平台打败了实体店”?
  8. UIFont 字体设置
  9. linux上的mysql数据库恢复
  10. pyc文件反编译到Python源码
  11. Selina 爱我的每个人
  12. 也许黎曼猜想是错误的
  13. python 在线客服_如何利用Python实现简单全双工在线客服系统!这个有点东西!...
  14. 致远OA自定义函数--正则表达式匹配校验
  15. Python 毕设精品实战案例——快速索引目录
  16. 用adblock来屏蔽百度热搜
  17. 国盛源投资量化买卖一定会挣钱吗?量化买卖怎样挣钱的?
  18. (跨平台UI)单片机用MTF HMI串口屏 UART通信易用兼容
  19. 游戏平台对接哪种支付公司好(选择标准介绍)
  20. 后处理-SAO原理分析及代码实现

热门文章

  1. ubuntu vscode上使用cmake、编译、调试
  2. 颜色字符串转换(正则)
  3. [svc]ext4文件删除访问原理
  4. 在单链表的第i个位置后插入一个节点(阿里+腾讯等面试题总结)
  5. python学习笔记(生成xml)
  6. 高程 第6章面向对象的程序设计 6.1 理解对象
  7. HTML5在豆瓣的各种应用
  8. NoSQL架构实践(二)——以NoSQL为主
  9. 为Web应用建立基于JMX的管理系统
  10. 设计模式复习-建造者模式