我是靠谱客的博主 微笑嚓茶,这篇文章主要介绍python使用matplotlib中文无法正常显示问题,现在分享给大家,希望可以做个参考。

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

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

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

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

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

- 方法一:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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()

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

  • 方法二:
复制代码
1
2
3
4
5
6
7
8
9
10
11
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)这种写法,虽然正常显示了,但是日志还是会发出警告。警告如下:

复制代码
1
2
3
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中文无法正常显示问题内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部