一、matplotlib画图中文乱码问题

使用matplotlib.pyplot画图,有中文字体会显示乱码问题,这时需要添加如下代码:

import matplotlib.pyplot as plt
...
plt.rcParams["font.sans-serif"] = ["SimHei"]
...

二、macbook没有SimHei的问题

但是那之后,如果是macOs系统,又会出现另一个问题:findfont: Generic family 'sans-serif' not found because none of the following families were found: SimHei

三、解决macbook没有SimHei问题

1. 在python环境中输入以下代码,查看字体路径:
import matplotlib
matplotlib.matplotlib_fname()

结果如下:venv/lib/python3.8/site-packages/matplotlib/mpl-data/matplotlibrc

>>> import matplotlib
>>> matplotlib.matplotlib_fname()
/Users/chenbinhao/PycharmProjects/learnPython/venv/lib/python3.8/site-packages/matplotlib/mpl-data/matplotlibrc
2. 下载所需要字体SimHei
  • 方式一:官网下载
  • 方式二:其他地址 官网太慢,我是在这个地址下载的

将下载好的文件放到/Users/chenbinhao/PycharmProjects/learnPython/venv/lib/python3.8/site-packages/matplotlib/mpl-data/fonts/ttf/路径下,如图:

3. 删除matplotlib的字体缓存
  • 首先,查看matplotlib的字体缓存路径:

    import matplotlib
    matplotlib.get_cachedir()
    
  • 结果为:
    >>> import matplotlib
    >>> matplotlib.get_cachedir()
    '/Users/chenbinhao/.matplotlib'
    
  • 删除该路径:rm -rf /Users/chenbinhao/.matplotlib
4. 修改matplotlibrc文件
  • 修改如下路径中的matplotlibrc文件
  • 修改为:
    # 去掉前面的#号
    font.family:  sans-serif
    # 去掉前面的#号,并在:号后面加上SimHei
    font.sans-serif: SimHei, DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
    # 去掉前面的#号,并将True改为False
    axes.unicode_minus: False
    
5. 重新运行脚本即可正常显示中文

解决使用matplotlib.pyplot画图包含中文乱码显示问题(macbook上 family ‘sans-serif‘ not found 问题)相关推荐

  1. 在MAC下,使用anaconda,解决python画图时中文乱码

    在MAC下,使用anaconda,python画图时中文乱码 在mac电脑下,安装anaconda环境,使用python画图时,使用中文显示时,中文乱码. 可在网络上找到解决办法,添加下面两行代码: ...

  2. 解决JS在url中传递参数时参数包含中文乱码的问题

    解决JS在url中传递参数时参数包含中文乱码的问题 参考文章: (1)解决JS在url中传递参数时参数包含中文乱码的问题 (2)https://www.cnblogs.com/xushengguan/ ...

  3. pandas操作excel,matplotlib.pyplot画图插入到excel,处理复杂excel简单练习

    在数据分析上,一直都在公司zeppelin上敲python/scala代码,进行数据分析,公司内搞了个小考试,操作excel,弄matplotlib画图之类的: 好久没弄过这些了,在小技术上感觉被打脸 ...

  4. 使用numpy与matplotlib.pyplot画图

    使用numpy与matplotlib.pyplot画图 1. 折线图 1 # -*- enccoding:utf-8 -*-2 import numpy as np3 import matplotli ...

  5. ajax传输json数据格式乱码_解决Ajax加载JSon数据中文乱码问题

    一.问题描述 使用zTree的异步刷新父级菜单时,服务器返回中文乱码,但项目中使用了SpringMvc,已经对中文乱码处理,为什么还会出现呢? 此处为的异步请求的配置: Java代码 async: { ...

  6. bug:生产问题,Golang解决csv文件用excel打开中文乱码问题及常见编码和BOM头关系

    bug:Golang解决csv文件用excel打开中文乱码问题 1 场景及分析 场景:今天在生成csv文件之后,测试发现用office和wps打开乱码 分析:经过测试之后发现使用记事本打开不乱码,同时 ...

  7. 成功解决利用matplotlib.pyplot进行绘图的时候整个画布中的绘制曲线只显示一部分

    成功解决利用matplotlib.pyplot进行绘图的时候整个画布中的绘制曲线只显示一部分 目录 解决问题 解决思路 解决方法 解决问题 利用matplotlib.pyplot进行绘图的时候整个画布 ...

  8. 解决Ubuntu系统中文乱码显示问题,终端打开文件及查看目录

    解决Ubuntu系统中文乱码显示问题 [日期:2014-02-20] 来源:Linux社区  作者:njchenyi [字体:大 中 小] 我是先安装了Ubuntu 12.04 Server,然后安装 ...

  9. php excelreader 中文,如何解决php excel reader导出excel中文乱码?

    解决php excel reader导出excel中文乱码的方法:1.如果不使用dump函数,可以通过修改[_defaultEncoding]变量解决问题:2.如果使用dump函数导出excel,需要 ...

最新文章

  1. GPU上稀疏矩阵的基本线性代数
  2. SLAM之特征匹配(三)————RANSAC------LO-RANSAC Algorithm
  3. 王立飞:专注己之长 跨界求发展
  4. 麦肯锡发布调研,揭开“那些引入人工智能的企业都怎么了 ”
  5. win10 vEthernet
  6. Android常见面试题(一)
  7. Competition——互联网比赛(编程相关):国内外各种互联网比赛举办时间、条件、细节等详细攻略
  8. 实验代做 行人识别_CVPR 2020 | 针对VI-ReID的分层跨模态行人识别
  9. 在程序员的道路上,义无反顾的努力,有思想的人,很多,好的想法,需要学习。(以此共勉)...
  10. 【玩转Golang】 自定义json序列化对象时,非法字符错误原因
  11. 七、gradle依赖管理
  12. JAVA的if用法比如if(...){} 和if()没有区别
  13. ggthemes包:丰富ggplot2的表现力
  14. cs61b实验记录(八)project 3:BearMaps 基于OSM的伯克利地图web应用
  15. 2022卡塔尔世界杯来临,体育界最新创意二维码案例大盘点!
  16. CAD批量输入坐标生成红线
  17. 百度网盘链接怎么同步更新、百度网盘链接同步、百度网盘分享同步更新、百度网盘怎么同步更新、百度网盘资源同步更新、百度网盘分享文件同步更新、百度网盘好友分享同步更新、百度网盘共享文件同步更新...
  18. 计算机二级excel常见函数函数多表求和,excel sumif函数多条件求和 sumif的高级用法:跨多表条件求和...
  19. 如何利用物联网关实现智慧路灯杆组网通信
  20. [Vuforia]二.3D物体识别

热门文章

  1. matlab穷举全排列,全排列:穷举法和递归法
  2. 从单车到飞船的SQL优化之旅
  3. 使用echarts柱状图横坐标文字过长放不下,文字会被隐藏
  4. oracle数据库相关知识点,Oracle数据库小知识点整理
  5. clickhouse的argMin()和argMax()函数
  6. 用问答式聊一下最近资本火热推动的chatGPT
  7. Java解惑:类之谜
  8. 携程、途牛、同程、飞书等21款APP因侵犯用户隐私数据被通报
  9. 奇怪的seekg()还有seekp()
  10. html在底部显示字,css文字在底部怎么写