我是靠谱客的博主 朴素水杯,最近开发中收集的这篇文章主要介绍python使用matplotlib中文无法正常显示问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

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

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

C:WindowsFonts为本人电脑上字体所在目录,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:WindowsFontssimsun.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中使用中文字体无法正常显示的解决方案,本人亲测有效,希望能帮助到遇到相同问题的小伙伴。

最后

以上就是朴素水杯为你收集整理的python使用matplotlib中文无法正常显示问题的全部内容,希望文章能够帮你解决python使用matplotlib中文无法正常显示问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部