当前位置: 代码网 > it编程>前端脚本>Python > Python利用Matplotlib绘图无法显示中文字体的两种解决方案

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

2024年05月18日 Python 我要评论
问题描述在python利用matplotlib绘图的时候,无法显示坐标轴上面的中文和标题里面的中文import numpy as npfrom matplotlib import pyplot as

问题描述

在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绘图无法显示中文字体内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com