Python-Matplotlib 显示中文、中文乱码解决办法

Python-Matplotlib 显示中文、中文乱码解决办法

使用matplotlib库时,发现中文乱码,显示出来是【口口】,在这里总结三个办法供大家参考。

  1. 临时修改
  • 通过修改fontproperties属性来显示中文。优点:灵活,不污染全局字体设置
import matplotlib.pyplot as plt

plt.plot([1, 2], [1, 2],[5,6], [5, 3])
plt.xlabel("x轴")
plt.ylabel("y轴", fontproperties="SimSun") # 步骤一    (宋体)
plt.title("标题", fontproperties="SimHei") #          (黑体)
plt.show()
  1. 长期修改
  • 通过修改rcParams参数来显示中文,这样直接影响全局字体

在最开头写上

plt.rcParams['font.family'] = ['sans-serif']
plt.rcParams['font.sans-serif'] = ['SimHei']#替换sans-serif字体为黑体
plt.rcParams['axes.unicode_minus'] = False   # 解决坐标轴负数的负号显示问题

例如:

import matplotlib.pyplot as plt

# 在我的 notebook 里,要设置下面两行才能显示中文
plt.rcParams['font.family'] = ['Microsoft YaHei']
# 如果是在 PyCharm 里,只要下面一行,上面的一行可以删除
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
# 解决坐标轴负数的负号显示问
plt.rcParams['axes.unicode_minus'] = False

plt.plot([0, 1], [1, 2])
plt.title('显示中文', size=16)
# dpi 设置保存文本的分辨率
plt.savefig('./first.jpg', dpi=200)
plt.show()
  • 通过修改对应的matplotlib文件参数来显示中文

(1)显示配置文件路径

import matplotlib
matplotlib.matplotlib_fname()

(2)定位到路径,打开这个文件,先找到 #font.family,去掉这行开头的“#” 。
将sans-serif,同样去掉“#”,改为系统中存在的中文字体【SimHei】(黑体或其他)。

(3)添加完字体名字,再找到#axes.unicode_minus,去掉“#”,并把“True”改成“False”,这样就可以正常显示负号。

【附录】

一些中文字体的英文名
微软雅黑: Microsoft YaHei

宋体:SimSun

黑体:SimHei

仿宋: FangSong

楷体: KaiTi

隶书:LiSu

幼圆:YouYuan

华文细黑:STXihei

华文楷体:STKaiti

华文宋体:STSong

华文中宋:STZhongsong

华文仿宋:STFangsong

方正舒体:FZShuTi

方正姚体:FZYaoti

华文彩云:STCaiyun

华文琥珀:STHupo

华文隶书:STLiti

华文行楷:STXingkai

华文新魏:STXinwei

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值