pyplot输出的绘图界面出现中文乱码的解决方案

网上找了很多办法,在此总结一下比较好用的解决方案。


【常用】方法一:rcParams

优点是用法简洁,但污染全局字体设置。

import matplotlib.pyplot as plt

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

plt.xlabel("x轴")
plt.ylabel("y轴")
plt.title("标题")
plt.show()

方法二:fontproperties

优点是灵活,可以同时应用多种字体,且不污染全局字体设置。

import matplotlib.pyplot as plt

plt.xlabel("x轴")
plt.ylabel("y轴", fontproperties="SimSun") # 宋体
plt.title("标题", fontproperties="SimHei") # 黑体
plt.show()

方法三:rc

优点是用法灵活,但会影响全局字体

import matplotlib.pyplot as plt

font = {'family' : 'SimHei',
        'weight' : 'bold',
        'size'   : '16'}
plt.rc('font', **font)               # 步骤一 设置字体的更多属性
plt.rc('axes', unicode_minus=False)  # 步骤二 解决坐标轴负数的负号显示问题

plt.xlabel("x轴")
plt.ylabel("y轴")
plt.title("标题")
plt.show()

【附录】

举一些中文字体的英文名:

宋体 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

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值