解决mac下jupyter中matplotlib中文无法显示的问题
标签: 避坑指南 jupyter Python matplotlib
换了笔记本之后在jupyter中用matplotlib画图一直无法愉快的显示中文,在网上苦苦查阅了许久,网上主流的方法有两种:一种是下载SimHei,将字体包放到matlotlib相关文件夹下并修改配置文件,另一种是每次画图都调用函数指定中文字体(在此不再对此两种方法的实体实现方式进行赘述)。第二种稍显笨重的方法自然无法让人心悦诚服地使用,而第一种方法我却屡试皆爽,不禁感到疑惑,别人是如何用这种方法操作成功的?
直到看到了某位老哥的一篇博客,我才豁然开朗:既然SimHei字体在Mac下无法奏效,那我为何不选用一种Mac支持的中文字体,为何非要费这么大功夫跟SimHei置气?于是我选用了另一种简单有效令人身心愉悦的方法——换字体。我放弃了使用SimHei,选择Arial Unicode MS作为matplotlib的中文字体。
一次性方法:
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
永久方法:
与主流方法一的原理相同:
- 找到字体路径
import matplotlib
print(matplotlib.matplotlib_fname())
我的路径:/Users/pengtiantian/opt/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc
2. matplotlibrc正是需要修改的文件
cd /Users/pengtiantian/opt/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data
vim matplotlibrc
找到font.family与font.sans-serif(默认被注释掉了),修改为
font.family: sans-serif
font.sans-serif: Arial Unicode MS, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
再找到后面的axes.unicode_minus,将True改为False(此项False,则matplotlib不会用中文字体显示负号“-”)
axes.unicode_minus: False
- 接下来,删除缓存文件:
rm -rf ~/.matplotlib/*
- 最后,重启jupyter内核,即可享用中文matloplib服务
显示效果如下图:
各位看官请笑纳=w=
给自己看的小记
陷入某一死胡同中时,转换思维未尝不是一种快速解决问题的良方。
PS:有帮助记得点个赞哦,谢谢(〃‘▽’〃)
智能推荐
Mac下matplotlib中文字体无法显示解决办法
问题 使用matplotlib画图时会出现汉字无法显示的情况如下图所示 Mac系统版本 解决方法 下载所需字体如SimHei Font,此时需要注意,字体格式应为ttf格式。 将下载的字体放到matplotlib的ttf文件夹,笔者使用的是Anaconda,所以路径如下: <usename>指你自己的本机名称 重新加载字体格式,并使用相应的字体。 重新加载字体库 设置默认字体 解决负号...
快速解决Mac无法显示matplotlib中文问题(anaconda3) 小白也能看懂!!
无法输出pyplot图例中文? 大多数人都知道,如果要在matplotlib.pyplot中正确显示中文和符号,通常我们采用: 但是在Mac上该方法会失效。 解决方法 查阅了网上的资料和结合自己的经验,总结出即使不会linux不会vim也可以轻松解决的方法(甚至不需要下载字体) 1.找到matplotlibrc文件 首先按下Command ⌘ + space唤出聚焦搜索,输入matplotlibr...
Mac下Jupyter画图显示中文乱码 - 已解决
之前用Jupyter Notebook 画图的时候,中文字体一直不能显示。出于懒我总是用英文来代替。但总这样也不是法子,昨晚尝试着解决了一下这个问题。现将解决方案呈现如下,亲测好用! 首先,matplotlib中的字体是没有中文字体的,我们先进行字体的安装。步骤如下: ① 中文字体下载 进入网站下载字体:地址 ② 中文字体安装 在Jupyter中输入如下代码。 获得目录: '/Users/xxx/...
【matplotlib】windows系统解决jupyter notebook中文显示问题
1.导入模块,查看matplotlib配置所在的路径 2.下载字体,放到字体文件夹的ttf下 字体URL:https://www.fontpalace.com/font-download/SimHei/ 3.修改配置文件matplotlibrc 修改如下 4.删除缓存目录 C:\用户\你的用户名.matplotlib 删除 5.重启Jupyter Notebook...
【mac】matplotlib显示中文问题
或许你曾经碰到过这样的情况 或许你添加了这两行代码还是没有效果,在你图表中的中文依旧是一个个小框框。 不要着急嘛,我们来把问题原因弄清楚,原因就是matplotlib库中压根就没有中文字体啊 在试过几种方法之后我发现一种及其简单的,分享给大家 超简便的方法 运行以下代码,它会将你所有的字体显示出来,注意打印出来的都是英文,你得自己分辨哪些是中文字体 这是我的一部分字体,从中挑选自己需要的字体 把你...
猜你喜欢
冒泡排序,及改进方式,性能优化400%>>>附图解加源码
首先源码附上,源码中带有注释,看不懂没关系,源码后面附带图解,最后附上代码效率提升图 源码如下: 方案一:其实实现很简单,两层循环,每次内层迭代出最大的一个值,将其放入数组最后一个位置,外层循环的末端便往前移一位。其原理如下图 方案一代码块: 方案二:优化改进 仔细观察上面的图,我们不难发现当迭代到图下这样的情况时,其实已经全排序好了,但是我们还是需要对它进行1,2,3,4,5,6的迭代,这些情况...
css3常用选择器
先介绍一下基本选择器,如下几种 *:通配符。选择页面的所有元素 E:元素选择器。对页面的一些元素进行选择,如p,div,li等 .class:类选择器 #id:id选择器。一个Id在一个页面中只能选择,这是和类选择器的区别 E F:后代选择器。如ul li。选中ul下的li E>F:子元素选择器。如下,可以用 h1 > strong {color:red;}使h1的子元素strong变...
python is not set from command line or npm configuration
问题 猜测原因 python版本冲突 解决方案 去官网找到最新版本python 点击下载,注意记住你下载的目录,下载好以后,打开这个目录下的文件夹,Python310, 整个文件夹复制一下 在项目里运行npm config list --json 找到python的路径 我的是 C:\\Python27\\python.exe 说明项目里用的还是py...
Java8 Stream流操作
前言 我们常常需要将一个容器转化成另一个容器,或是对这个容器中的数据进行批量处理,这时使用Stream流可以大大减少我们的工作量。 1 Stream概述 Java 8 是一个非常成功的版本,这个版本新增的Stream,配合同版本出现的 Lambda ,给我们操作集合(Collection)提供了极大的便利。 那么什么是Stream? Stream将要处理的元素集合看作一种流,在流的过程中,借助St...
带你玩转Visual Studio——带你跳出坑爹的Runtime Library坑
在Windows下进行C++的开发,不可避免的要与Windows的底层库进行交互,然而VS下的一项设置MT、MTd、MD和MDd却经常让人搞迷糊,相信不少人都被他坑过,特别是你工程使用了很多第三库的时候,及容易出现各种链接问题。看一下下面这个错误提示: LIBCMT.lib(_file.obj) : error LNK2005: ___initstdio already defined...
