python使用matplotlib中文无法正常显示问题

python使用matplotlib中文无法正常显示问题

本贴主要解决在matplotlib中显示中文字体无法显示正常显示问题。
在这里插入图片描述
中文字体不正常显示

在解决问题前先介绍一下如何找电脑中的字体,不适用可在网上另寻方法

C:\Windows\Fonts为本人电脑上字体所在目录,simsun.ttc为新宋体文件名称。自己电脑上的字体路径,请自行找办法寻找。
在这里插入图片描述找到字体路径后,选择相应的字体,右键查看属性。
在这里插入图片描述

方法一无需加上.ttc后缀,第二种方法需要加上后缀,具体请以实际操作为准。(提示:不是所有字体后缀都是.ttc

- 方法一:

import matplotlib
from matplotlib import pyplot as plt
font={
    'family':'simsun', #设置字体,前提是系统中已安装
    'weight':'bold', #设置粗细
    'size':18 #设置字体大小
}
matplotlib.rc("font",**font)
#以上写法等同于以下的写法
#matplotlib.rc("font",family='simsun',weight='bold',size=18)
plt.figure(figsize=(20,8),dpi=80) #将图片拉伸,方便查看效果
x=range(10)
y=[1,4,3,5,4,3,1,2,3,4]
_x=["你好,{}".format(i) for i in range(10)]
plt.xticks(x,_x)
plt.plot(x,y)
plt.show()

在这里插入图片描述
中文正常显示

  • 方法二:
from matplotlib import pyplot as plt
from matplotlib.font_manager import FontProperties
x=range(10)
y=[1,4,3,5,4,3,1,2,3,4]
plt.figure(figsize=(20,8),dpi=80) #将图片拉伸,方便查看效果
plt.plot(x,y)
_x=["你好,{}".format(i) for i in range(10)]
my_font=FontProperties(fname="C:\Windows\Fonts\simsun.ttc",size=18)
plt.xticks(x,_x,font_properties=my_font)
plt.show()

注意!注意!注意!font_properties=my_font这个地方需要特别注意。我一开始的写法为plt.xticks(x,_x,fontproperties=my_font),导致中文还是无法正常显示,之后又改成plt.xticks(x,_x,FontProperties=my_font)这种写法,虽然正常显示了,但是日志还是会发出警告。警告如下:

MatplotlibDeprecationWarning: Case-insensitive properties were deprecated in 3.3 and support will be removed two minor releases later
  plt.xticks(x,_x,FontProperties=my_font)

翻译一下大概意思就是:不区分大小写的属性在3.3中已被弃用,支持将在两个次要版本之后被删除。所以这里需要特别注意一下。

以上就是在matplotlib中使用中文字体无法正常显示的解决方案,本人亲测有效,希望能帮助到遇到相同问题的小伙伴。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值