一文详解matplotlib的配置文件以及配置方式
主要介绍路径问题和配置文件相关介绍
linux安装字体库(simSun为例)可以在终端中显示中文
Matlab绘图中下标、斜体及希腊字母的使用方法

python画图可能会报警告findfont: Font family [‘sans-serif’] not found. Falling back to Bitstream Vera Sans,这时需要在matplotlib库下更新字体信息。
我们可以把win10下的字体复制到matplotlib的文字字体路径/home/warmtree/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf里面:

扩展一些字体的英文,用时查询

字体 英文
宋体 SimSun
黑体 SimHei
微软雅黑 Microsoft YaHei
微软正黑体 Microsoft JhengHei
新宋体 NSimSun
新细明体 PMingLiU
细明体 MingLiU
标楷体 DFKai-SB
仿宋 FangSong
楷体 KaiTi
隶书 LiSu
幼圆 YouYuan
华文细黑 STXihei
华文楷体 STKaiti
华文宋体 STSong
华文中宋 STZhongsong
华文仿宋 STFangsong
方正舒体 FZShuTi
方正姚体 FZYaoti
华文彩云 STCaiyun
华文琥珀 STHupo
华文隶书 STLiti
华文行楷 STXingkai
华文新魏 STXinwei

Python实现matplotlib显示中文的方法详解
字体配置文件在如下路径:

遇到报错

/home/warmtree/anaconda3/lib/python3.7/site-packages/matplotlib/mathtext.py:843: MathTextWarning: Font 'default' does not have a glyph for '\u4f4d' [U+4f4d], substituting with a dummy symbol.MathTextWarning)
/home/warmtree/anaconda3/lib/python3.7/site-packages/matplotlib/mathtext.py:843: MathTextWarning: Font 'default' does not have a glyph for '\u79fb' [U+79fb], substituting with a dummy symbol.MathTextWarning)
/home/warmtree/anaconda3/lib/python3.7/site-packages/matplotlib/mathtext.py:843: MathTextWarning: Font 'default' does not have a glyph for '\u8377' [U+8377], substituting with a dummy symbol.MathTextWarning)
/home/warmtree/anaconda3/lib/python3.7/site-packages/matplotlib/mathtext.py:843: MathTextWarning: Font 'default' does not have a glyph for '\u8f7d' [U+8f7d], substituting with a dummy symbol.MathTextWarning)

通过查找,我们发现其实错误的是中文的显示。Unicode编码转换

示例代码

#-*- coding: utf-8 -*-
import matplotlib.pyplot as plt
# 下述是为保证中文宋体,英文stix(近似Times New Roman),更具体说明见https://zhuanlan.zhihu.com/p/118601703
# 实际上做的是$$内应用LaTex语法,采用字体为mathtext.fontset=stix,其外默认的字体为宋体SimSun
import matplotlib as mplfrom matplotlib.font_manager import FontProperties
#font_chinese = FontProperties(fname=r"/media/warmtree/Windows/Windows/Fonts/simsun.ttc", size=24)'''
print(matplotlib.get_backend())    #返回matplotlib的后端
print(matplotlib.get_cachedir())   #缓存目录
print(matplotlib.get_configdir())  #配置目录
print(matplotlib.get_data_path())  #数据路径
print(matplotlib.get_home())       #用户目录
'''
mpl.rcParams['font.sans-serif'] = ['SimSun']#显示中文
mpl.rcParams['font.serif'] = ['SimSun']
plt.style.use('classic')
plt.rcParams['legend.framealpha'] = 0  # 图例框完全透明
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
config1 = {    "font.family": 'sans-serif',    "font.size": 24,
}
plt.rcParams.update(config1)
config2={'text.usetex': False,'mathtext.fontset': 'stix',
}
plt.rcParams.update(config2)
ax = plt.figure().add_subplot(111)
ax.set_ylabel(u'\u8377\u8f7d'+r'$P\rm{/kN}$')
ax.set_xlabel(u'\u4f4d\u79fb'+r'${\it l\Delta}\rm{/mm}$')
plt.show()

Python matplotlib绘图如何显示中文的问题【有报错没有解决】相关推荐

  1. Python+matplotlib绘图时显示中文的设置方法

    封面图片:<Python程序设计基础与应用>(ISBN:9787111606178),董付国,机械工业出版社 图书详情: =================== 在使用Python+mat ...

  2. python画图显示不了中文_Python使用matplotlib绘图无法显示中文问题的解决方法

    本文实例讲述了Python使用matplotlib绘图无法显示中文问题的解决方法.分享给大家供大家参考,具体如下: 在python中,默认情况下是无法显示中文的,如下代码: import matplo ...

  3. Python利用Matplotlib绘图无法显示中文字体的解决方案

    这里写目录标题 问题描述 报错信息 解决方法 其他解决方案 使用模板(内置样式)后无法显示中文的解决方案 问题描述 在Python利用Matplotlib绘图的时候,无法显示坐标轴上面的中文和标题里面 ...

  4. source insight删除保存路径为中文的project工程项目报错的解决办法

    http://blog.csdn.net/yixilee/archive/2010/09/01/5855663.aspx source insight删除已加载的project工程项目报错的解决办法 ...

  5. Python 中,matplotlib绘图无法显示中文的问题

    在python中,默认情况下是无法显示中文的,如下代码: import matplotlib.pyplot as plt# 定义文本框和箭头格式 decisionNode = dict(boxstyl ...

  6. python matplotlib 画图 不显示中文 中文乱码 设置中文字体

    在使用python matplotlib 画图时,由于matplotlib 默认是使用DejaVu Sans这种字体,不支持中文,所以我们在使用matplotlib画图包含中文内容要显示时就会变成方框 ...

  7. 环境搭建:使用python matplotlib画图不显示中文问题解决

    1.背景 python matplotlib.plt 使用 plt.title 写标题时,标题显示为方框,无法正常显示中文,而且基本上在一台新的服务器上配置python开发环境都会遇到这种问题,因此写 ...

  8. Python携库一并打包(打包pyecharts程序运行报错的解决方法)

    python正常打包,我们只需要在Terminal里输入 pyinstaller -F +项目 即可,如下图 但是呢,有一天我的新项目里 添加了pyecharts这个库,但是打包后,发现用不了.总是报 ...

  9. python Matplotlib绘图实现:中文宋体,英文新罗马(科研人必备);解决Font family [‘sans-serif‘] not found.

    1.合并字体 将电脑自带的宋体和Times New Roman字体合并为新字体,我命名为SongNTR.ttf https://github.com/nowar-fonts/Warcraft-Font ...

最新文章

  1. python实现洗牌算法_洗牌算法及 random 中 shuffle 方法和 sample 方法浅析
  2. OpenGL PN三角形的分化
  3. MPAndroidChart——饼图
  4. Code First02---CodeFirst配置实体与数据库映射的两种方式
  5. mysql中使用HAVING 筛选分组后的数据
  6. 我又踩坑了!如何为HttpClient请求设置Content-Type标头?
  7. 营销获客场景下的个人类业务要件分析
  8. 猜拳游戏php代码,最常见的猜拳小游戏Android代码实现
  9. Anylogic问题-----模型运行中外部输入控制模型
  10. 天秀!花费 200W 设计的新版 “小米”图标,看看用Python怎么绘制?
  11. iozone文件系统性能评测工具
  12. 学计算机优盘多少内存够用,u盘建议买多大内存的
  13. 80004005错误代码_关于访问共享时出现80004005错误
  14. IP地址冲突的原因及其解决方法
  15. @00后,有个编程问题请教下
  16. Redis设置过期时间为当月月底-----自动计算
  17. 论文复现_1:Chinese NER Using Lattice LSTM
  18. Windows上快速创建一个1G以上的大文件
  19. CCS调试问题 Break at address “0x3ff9ce“ with no debug information available, or outside of program code.
  20. 揭秘Angular 2

热门文章

  1. 本地的registry图形化界面harbor安装与使用--02
  2. Java 利用Calender类制作日历,并且标注日期
  3. [浅析]UE4物理系统
  4. 《歪笑小说》—— 读后总结
  5. Oracle表分区.
  6. 希尔伯特黄变换(Hilbert-Huang)原理、HHT求时频谱、边际谱,及MATLAB(2018rb)实现
  7. 青云服务器控制台系统,新版管理控制台正式上线 青云QingCloud助用户资源管理更高效...
  8. align-content 和align-items的区别
  9. JavaScript设计模式总汇
  10. memcpy、memmove