Matplotlib不显示中文解决办法

这篇具有很好参考价值的文章主要介绍了Matplotlib不显示中文解决办法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  在学习matplotlib画图过程中,难免会碰到x轴、y轴刻度、图标题、图例显示中文的情况。但是发现matplotlib默认不会显示中文,需要经过字体设置才可以。笔者在解决问题的过程中遇到了些小问题并成功解决了,希望能够帮助到大家。

  此处选择绘制电影票房条形图作为案例讲解。

  可以看到在x轴的刻度上本应该显示各个电影的名字,但是却都变成了方框。

Matplotlib不显示中文解决办法

解决这个问题的主要思路是:设置一个字体变量my_font,让路径是你电脑里的本地字体,然后在需要显示中文的代码中,单独将字体设置为这个字体变量my_font即可。

第一步,找到你电脑中的中文字体路径。

  大多数电脑都存储在Fonts文件夹下,笔者电脑的字体保存在了c盘下,具体位置:C:\Windows\Fonts

Matplotlib不显示中文解决办法

假设我们想把中文字体设置为微软雅黑,就去找对象的字体 Microsoft YaHei UI。可以发现这里有3个字体,所以继续双击。

Matplotlib不显示中文解决办法

可以看到雅黑有3种字体,我们选择第一个常规即可。

Matplotlib不显示中文解决办法

需要注意的是,虽然字体是Microsoft YaHei UI 常规,但是字体路径名却不是这个。此时鼠标放在字体上鼠标右键点击属性。可以看到字体的命名是msyh.ttc

Matplotlib不显示中文解决办法

所以字体的路径是:

C:\Windows\Fonts\msyh.ttc

第二步,设置字体变量my_font

添加字体变量之前还需要导入font_manager

from matplotlib import font_manager

导入后,设置字体变量


my_font=font_manager.FontProperties(fname="C:\Windows\Fonts\msyh.ttc")

 Matplotlib不显示中文解决办法

前面的代码已经敲好了,接下来就要找到需要显示中文的代码部分。

第三步,找到显示中文的代码,添加my_font属性

在最开始的结果图可以看到x轴的ticks需要显示中文。

Matplotlib不显示中文解决办法

将红框勾选的代码替换为:

# 设置字符串x轴
plt.xticks(range(len(a)),a,fontproperties=my_font,rotation=90)

中文就可以显示出来了。 

Matplotlib不显示中文解决办法

接下来附上本次案例代码:

from matplotlib import pyplot as plt
from matplotlib import font_manager

my_font=font_manager.FontProperties(fname="C:\Windows\Fonts\msyh.ttc")

a = ["战狼2","速度与激情8","功夫瑜伽","西游伏妖篇","变形金刚5\n:最后的骑士","摔跤吧!爸爸","加勒比海盗5\n:死无对证","金刚:骷髅岛","极限特工\n:终极回归",
     "生化危机6\n:终章","乘风破浪","神偷奶爸3","智取威虎山","大闹天竺","金刚狼3\n:殊死一战","蜘蛛侠\n:英雄归来","悟空传","银河护卫队2","情圣","新木乃伊"]

b = [56.01,26.94,17.53,16.49,15.15,12.96,11.8,11.61,11.28,11.12,10.49,10.3,8.75,7.55,7.32,6.99,6.88,6.86,6.58,6.23]

# 设置图形大小
plt.figure(figsize=(14,30),dpi=80)

# 绘制条形图
plt.bar(range(len(a)),b,width=0.3)

# 设置字符串x轴
plt.xticks(range(len(a)),a,fontproperties=my_font,rotation=90)

plt.show()
# plt.savefig("./t6.png")

 同时,这个案例有不足之处,再附上横向条形图的代码。

Matplotlib不显示中文解决办法

from matplotlib import pyplot as plt
from matplotlib import font_manager

my_font=font_manager.FontProperties(fname="C:\Windows\Fonts\msyh.ttc")

a = ["战狼2","速度与激情8","功夫瑜伽","西游伏妖篇","变形金刚5:最后的骑士","摔跤吧!爸爸","加勒比海盗5:死无对证","金刚:骷髅岛","极限特工:终极回归",
     "生化危机6:终章","乘风破浪","神偷奶爸3","智取威虎山","大闹天竺","金刚狼3:殊死一战","蜘蛛侠:英雄归来","悟空传","银河护卫队2","情圣","新木乃伊"]

b = [56.01,26.94,17.53,16.49,15.15,12.96,11.8,11.61,11.28,11.12,10.49,10.3,8.75,7.55,7.32,6.99,6.88,6.86,6.58,6.23]

# 设置图形大小
plt.figure(figsize=(20,8),dpi=80)

# 绘制条形图
plt.barh(range(len(a)),b,height=0.3,color="orange")

# 设置字符串y轴
plt.yticks(range(len(a)),a,fontproperties=my_font)

plt.grid(alpha=0.3)

plt.show()
# plt.savefig("./t7.png")

 文章来源地址https://www.toymoban.com/news/detail-446872.html

 

 

到了这里,关于Matplotlib不显示中文解决办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 彻底解决python中jupyter画图matplotlib的中文显示问题。Mac版本和Windows版本

    jupyter使用matplotlib进行画图会面临中文无法显示的问题,导致这样的原因是没有配置对应的中文字体,所以无法在画图时显示中文。 在Window中,采用以下代码 Mac中没有SimHei字体,所以Windows的代码无法使用,所以要先查询mac中支持的中文字体。以下代码可以查询mac中的所有字

    2024年02月09日
    浏览(72)
  • Ubuntu下让matplotlib显示中文字体

    参考文章: https://zodiac911.github.io/blog/matplotlib-chinese.html Ubuntu下python的matplotlib库显示中文字体很不方便,本文快速解决这个问题。 Ubuntu的字体目录在 /usr/share/fonts 下,自带的中文字体很烂,先安装一下中文字体库。 终端输入: 你会发现在 /usr/share/fonts/MyFonts 下添加了很多新字

    2024年02月07日
    浏览(73)
  • Python常见库matplotlib之画图文字的中文显示

    第一章 Python常见库matplotlib之画图文字的中文显示 第二章 Python常见库matplotlib之画图中各个模块的含义及修改方式 第三章 Python常见库matplotlib之多个子图绘图 在数据可视化时,常常需要使用图例来解释图中不同元素的含义。在论文写作时尤其是毕业论文写作时,需要图中文字

    2024年02月06日
    浏览(42)
  • macOS中解决matplotlib中文乱码

    图表上中文变方框,日志中报错如下: http://xiazaiziti.com/210356.html 查看配置文件路径 这里我们得到的路径是: 去掉 /matplotlibrc ,拼上 /fonts/ttf 。我们得到最终字体文件保存路径为: 我们把上面下载的文件保存到些目录,并保证文件名为 SimHei.ttf 修改我们上一步得到的配置文

    2024年02月08日
    浏览(56)
  • (未解决)macOS matplotlib 中文是方框

    Mac OS系统下实现python matplotlib包绘图显示中文(亲测有效)_mac plt 中文值-CSDN博客 module ‘matplotlib.font_manager‘ has no attribute ‘_rebuild‘解决方法_font_manager未解析-CSDN博客 找到本地字体所在的路径 - 下载中文字体 Download SimHei Font - Free Font Download - FontPalace.com 拷贝到该文件夹下 - ma

    2024年03月14日
    浏览(47)
  • Pycharm中提示安装matplotlib失败参考解决办法(不唯一)

    1.首先使用了pip对matplotlib库进行下载 下载过程无问题,如图。 2.在Pycharm中进行matplotlib库安装 点击左下角安装软件包,开始自动安装,但弹出红色框提示“安装失败”。(截图未截到) 3.采用了站立大佬们的修改镜像,pip重新安装,pip升级等工序后任然失败,进行思考后,考

    2024年02月05日
    浏览(39)
  • ModuleNotFoundError: No module named ‘matplotlib‘ 一系列解决办法

    编译器:pycharm,在导入matplotlib包时出现ModuleNotFoundError: No module named ‘matplotlib‘ 的报错 打开PyCharm,点击File-Settings,点击弹出界面的“+”号: 输入: matplotlib  ,点下面的安装,等待一段时间,安装失败,并提示在终端进行操作  进入终端并输入: pip install 包名 -i 网站-

    2024年03月23日
    浏览(90)
  • 优雅解决Python中matplotlib绘图时汉字显示不正常的问题

    我们使用了如下代码,为了在图表上绘制中文 图表最后出现了这种方框形式的错误。 并报了如下错误 这种报错,实际是一种警告,并不影响程序的正常运行,所以最后也能出效果图,但无法正常显示中文。其实就是matplotlib 库内没有 SimHei 字体,所以需要下载相关文件。 下

    2024年04月25日
    浏览(37)
  • 解决VScode远程服务器时opencv和matplotlib无法直接显示图像的问题

    问题描述 :在VSCode中通过SSH连接服务器,使用cv2.imshow或plt.show()无法显示图像。 并且VScode与MobaXterm可以ssh到远程服务器 参数说明: 保持MobaXterm开启的状态下,在VSCode中运行xclock,会显示一个时钟。

    2024年02月14日
    浏览(43)
  • VScode中运行python时,使用matplotlib的plt.imshow()不显示图像 的参考解决方法

    自己的测试环境 Ubuntu20.04 自己使用VScode中运行python程序时,python程序中调用 matplotlib 的 plt.imshow() 不能显示图像的情况。 出现这种情况的解决方法很简单,在最后一个 plt.imshow(image) 的后面增加一个 plt.show() 即可解决问题。 [1] 灵犀智库. code9:VScode的python使用matplotlib的plt.sh

    2024年01月22日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包