Python利用Matplotlib绘图无法显示中文字体的两种解决方案
更新时间:2024年03月30日 11:54:02 作者:宜城豆腐面
matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,这篇文章主要给大家介绍了关于Python利用Matplotlib绘图无法显示中文字体的两种解决方案,需要的朋友可以参考下
问题描述
在Python利用Matplotlib绘图的时候,无法显示坐标轴上面的中文和标题里面的中文
import numpy as np from matplotlib import pyplot as plt import chinesename cn = chinesename.ChineseName() name_list = cn.getNames(10) rand_numbers = np.random.choice(np.arange(1,11),size=10,replace=False) plt.xlabel('name') plt.ylabel('number') plt.plot(name_list,rand_numbers,'ob') plt.show()
运行显示:
解决方法一:
#解决制图时不显示中文的方法,设置字体 import matplotlib matplotlib.rc("font", family='Microsoft YaHei')
解决方法二:
plt.rcParams['font.sans-serif'] = 'SimHei'
两种方法都可以使中文正常显示
补充:
- SimSun :宋体;KaiTI:楷体;Microsoft YaHei:微软雅黑
- LiSu:隶书;FangSong:仿宋;Apple LiGothic Medium:苹果丽中黑;
此外,在图表中可以显示中文后,需要对‘-’的显示进行操作,不然数据中的负号会显示不了,
import numpy as np from matplotlib import pyplot as plt #解决制图时不显示中文的方法一 import matplotlib matplotlib.rc("font", family='LiSu') ##解决制图时不显示中文的方法二 # plt.rcParams['font.sans-serif'] = 'SimHei' x = np.arange(-10,10) y = x*2+5 plt.title('图表Y=X×2+5') plt.xlabel('x值') plt.ylabel('y值') plt.plot(x,y) plt.show()
只需加上如下代码即可:
#当字体支持中文后,必须设置负号,否则当数值中出现负号就无法显示 plt.rcParams['axes.unicode_minus']=False
总结
到此这篇关于Python利用Matplotlib绘图无法显示中文字体的两种解决方案的文章就介绍到这了,更多相关Python Matplotlib绘图无法显示中文字体内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
python2与python3中关于对NaN类型数据的判断和转换方法
今天小编就为大家分享一篇python2与python3中关于对NaN类型数据的判断和转换方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-10-10Python的Bottle框架中实现最基本的get和post的方法的教程
这篇文章主要介绍了Python的Bottle框架中实现最基本的get和post的方法的教程,Bottle框架在Python开发者中的人气很高,需要的朋友可以参考下2015-04-04python绘制发散型柱状图+误差阴影时间序列图+双坐标系时间序列图+绘制金字塔图
这篇文章主要介绍了python绘制发散型柱状图+误差阴影时间序列图+双坐标系时间序列图+绘制金字塔图,详细的内容需要的小伙伴可以参考一下下面文章内容2022-08-08
最新评论