优雅解决Python中matplotlib绘图时汉字显示不正常的问题

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

一、问题产生

我们使用了如下代码,为了在图表上绘制中文

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei']

findfont: font family 'simhei' not found.,故障诊断,python,matplotlib,开发语言

图表最后出现了这种方框形式的错误。

并报了如下错误

findfont: Font family ['SimHei'] not found. Falling back to DejaVu Sans.

二、问题成因

这种报错,实际是一种警告,并不影响程序的正常运行,所以最后也能出效果图,但无法正常显示中文。其实就是matplotlib 库内没有 SimHei 字体,所以需要下载相关文件。

三、解决方法

1.下载SimHei.ttf

下载地址:SimHei.ttf|字体下载 (xiazaiziti.com)

findfont: font family 'simhei' not found.,故障诊断,python,matplotlib,开发语言

2.拷贝 SimHei.ttf 到 matplotlib 的 font 文件夹  

首先找到font所在位置

import matplotlib
print(matplotlib.matplotlib_fname())

findfont: font family 'simhei' not found.,故障诊断,python,matplotlib,开发语言

进入刚刚查找到的这个路径mpl-data文件下,找到 fonts->ttf,将下载的SimHei.ttf字体拷贝到此处。

findfont: font family 'simhei' not found.,故障诊断,python,matplotlib,开发语言

拷贝成功如下

findfont: font family 'simhei' not found.,故障诊断,python,matplotlib,开发语言找到python字体缓存文件

import matplotlib
print(matplotlib.get_cachedir())

findfont: font family 'simhei' not found.,故障诊断,python,matplotlib,开发语言

进入到该文件夹下,删除缓存文件

rm -rf /home/robot/.cache/matplotlib/*

后面会自动生成缓存文件,此处已经优雅解决

3.若还没解决

回到步骤2的开头处,找到matplotlibrc路径,修改 matplotlibrc

font.family         : sans-serif   
 # 去掉前面的#     
 font.sans-serif     : SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif  
 # 去掉前面的#,并在冒号后面添加SimHei
 axes.unicode_minus  : False
 # 去掉前面的#,并将True改为False

四、问题解决

总算显示中文了!!!

findfont: font family 'simhei' not found.,故障诊断,python,matplotlib,开发语言文章来源地址https://www.toymoban.com/news/detail-857743.html

到了这里,关于优雅解决Python中matplotlib绘图时汉字显示不正常的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Python Matplotlib 3D绘图详解(汇总)

    最初开发的 Matplotlib,仅支持绘制 2d 图形,后来随着版本的不断更新, Matplotlib 在二维绘图的基础上,构建了一部分较为实用的 3D 绘图程序包,比如 mpl_toolkits.mplot3d,通过调用该程序包一些接口可以绘制 3D散点图、3D曲面图、3D线框图等 mpl_toolkits 是 Matplotlib 的绘图工具包。

    2024年02月04日
    浏览(39)
  • Python 数据分析——matplotlib 快速绘图

    matplotlib采用面向对象的技术来实现,因此组成图表的各个元素都是对象,在编写较大的应用程序时通过面向对象的方式使用matplotlib将更加有效。但是使用这种面向对象的调用接口进行绘图比较烦琐,因此matplotlib还提供了快速绘图的pyplot模块。本节首先介绍该模块的使用方法

    2024年02月11日
    浏览(47)
  • Python 面向对象绘图(Matplotlib篇-16)

    Python 面向对象绘图(Matplotlib篇-16)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹

    2024年01月20日
    浏览(38)
  • 彻底解决python中jupyter画图matplotlib的中文显示问题。Mac版本和Windows版本

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

    2024年02月09日
    浏览(71)
  • python matplotlib绘图过程中设置线条颜色

    👨🏻‍🎓博主介绍:大家好,我是大锤爱编程的博客_CSDN博客-大数据,Go,数据分析领域博主,有五年的数据开开发,有着丰富的数仓搭建、数据分析经验。我会在我的系列文章里面分享我学到的知识,希望能够帮助到大家🌟 🌈擅长领域:大数据、数据分析 🙏🏻如果本文章

    2023年04月15日
    浏览(40)
  • Python之Matplotlib绘图调节清晰度

    引言 使用python中的matplotlib.pyplot绘图的时候,如果将图片显示出来,或者另存为图片,常常会出现清晰度不够的问题,当然这种问题是对于png或者jpg这种格式的图片而言的,如果是生成svg或者pdf则不存在这种问题,但是png和jpg也是经常需要使用的图片格式,因此就需要想办法

    2024年02月01日
    浏览(45)
  • 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日
    浏览(59)
  • Python数据可视化之matplotlib绘图教程

    目录 一、快速绘图 1. 折线图 2. 柱状图 3. 饼状图 4. 散点图 5. 图片保存  二、基本设置 1. 图片 2. 坐标轴 3. 刻度 4. 边距 5. 图例 6. 网格 7. 标题 8. 文本 9. 注释文本 10. 主题设置 11. 颜色 12. 线条样式 13. 标记形状 三、绘图进阶 1. 折线图 2. 条形图  3. 散点图 4. 饼状图 5. 多图并

    2024年02月04日
    浏览(46)
  • Matplotlib绘图知识小结--Python数据分析学习

    一、Pyplot子库绘制2D图表 1、Matplotlib Pyplot Pyplot 是 Matplotlib 的子库,提供了和 MATLAB 类似的绘图 API。 Pyplot 是常用的绘图模块,能很方便让用户绘制 2D 图表。 Pyplot 包含一系列绘图函数的相关函数,每个函数会对当前的图像进行一些修改,例如:给图像加上标记,生新的图像,

    2024年02月12日
    浏览(47)
  • Python学习笔记(11-2):matplotlib绘图——图形绘制函数

    因为部分图形绘制函数共用了一套参数体系,在颜色、曲线形状等部分的使用方式也是一致的。所以,在讲解各类图形绘制之前,我们整体性地对各类通用参数进行一个整理,并在此基础上对于颜色(color)、数据点标记(marker)和曲线形式(linestyle)等几个通用参数进行相

    2024年02月06日
    浏览(58)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包