解决使用matplotlib.pyplot画图包含中文乱码显示问题(macbook上 family ‘sans-serif‘ not found 问题)
一、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 问题)相关推荐
- 在MAC下,使用anaconda,解决python画图时中文乱码
在MAC下,使用anaconda,python画图时中文乱码 在mac电脑下,安装anaconda环境,使用python画图时,使用中文显示时,中文乱码. 可在网络上找到解决办法,添加下面两行代码: ...
- 解决JS在url中传递参数时参数包含中文乱码的问题
解决JS在url中传递参数时参数包含中文乱码的问题 参考文章: (1)解决JS在url中传递参数时参数包含中文乱码的问题 (2)https://www.cnblogs.com/xushengguan/ ...
- pandas操作excel,matplotlib.pyplot画图插入到excel,处理复杂excel简单练习
在数据分析上,一直都在公司zeppelin上敲python/scala代码,进行数据分析,公司内搞了个小考试,操作excel,弄matplotlib画图之类的: 好久没弄过这些了,在小技术上感觉被打脸 ...
- 使用numpy与matplotlib.pyplot画图
使用numpy与matplotlib.pyplot画图 1. 折线图 1 # -*- enccoding:utf-8 -*-2 import numpy as np3 import matplotli ...
- ajax传输json数据格式乱码_解决Ajax加载JSon数据中文乱码问题
一.问题描述 使用zTree的异步刷新父级菜单时,服务器返回中文乱码,但项目中使用了SpringMvc,已经对中文乱码处理,为什么还会出现呢? 此处为的异步请求的配置: Java代码 async: { ...
- bug:生产问题,Golang解决csv文件用excel打开中文乱码问题及常见编码和BOM头关系
bug:Golang解决csv文件用excel打开中文乱码问题 1 场景及分析 场景:今天在生成csv文件之后,测试发现用office和wps打开乱码 分析:经过测试之后发现使用记事本打开不乱码,同时 ...
- 成功解决利用matplotlib.pyplot进行绘图的时候整个画布中的绘制曲线只显示一部分
成功解决利用matplotlib.pyplot进行绘图的时候整个画布中的绘制曲线只显示一部分 目录 解决问题 解决思路 解决方法 解决问题 利用matplotlib.pyplot进行绘图的时候整个画布 ...
- 解决Ubuntu系统中文乱码显示问题,终端打开文件及查看目录
解决Ubuntu系统中文乱码显示问题 [日期:2014-02-20] 来源:Linux社区 作者:njchenyi [字体:大 中 小] 我是先安装了Ubuntu 12.04 Server,然后安装 ...
- php excelreader 中文,如何解决php excel reader导出excel中文乱码?
解决php excel reader导出excel中文乱码的方法:1.如果不使用dump函数,可以通过修改[_defaultEncoding]变量解决问题:2.如果使用dump函数导出excel,需要 ...
最新文章
- GPU上稀疏矩阵的基本线性代数
- SLAM之特征匹配(三)————RANSAC------LO-RANSAC Algorithm
- 王立飞:专注己之长 跨界求发展
- 麦肯锡发布调研,揭开“那些引入人工智能的企业都怎么了 ”
- win10 vEthernet
- Android常见面试题(一)
- Competition——互联网比赛(编程相关):国内外各种互联网比赛举办时间、条件、细节等详细攻略
- 实验代做 行人识别_CVPR 2020 | 针对VI-ReID的分层跨模态行人识别
- 在程序员的道路上,义无反顾的努力,有思想的人,很多,好的想法,需要学习。(以此共勉)...
- 【玩转Golang】 自定义json序列化对象时,非法字符错误原因
- 七、gradle依赖管理
- JAVA的if用法比如if(...){} 和if()没有区别
- ggthemes包:丰富ggplot2的表现力
- cs61b实验记录(八)project 3:BearMaps 基于OSM的伯克利地图web应用
- 2022卡塔尔世界杯来临,体育界最新创意二维码案例大盘点!
- CAD批量输入坐标生成红线
- 百度网盘链接怎么同步更新、百度网盘链接同步、百度网盘分享同步更新、百度网盘怎么同步更新、百度网盘资源同步更新、百度网盘分享文件同步更新、百度网盘好友分享同步更新、百度网盘共享文件同步更新...
- 计算机二级excel常见函数函数多表求和,excel sumif函数多条件求和 sumif的高级用法:跨多表条件求和...
- 如何利用物联网关实现智慧路灯杆组网通信
- [Vuforia]二.3D物体识别