dev c++中文乱码_Matplotlib中文乱码问题解决方案

f90201af037ee0b0ca702ff1c618f0eb.png

MatplotlibPython的一个2D绘图库,许多小伙伴第一次使用图表绘制时,会发现中文乱码或者小方框的情况

f6302fe67326ab1cd126243076679985.png

原因是Matplotlib默认字体并不包含中文,所以必须设置为中文字体

准备工作:

  • 系统:Windows
  • 环境管理器:Anaconda
  • IDE:Jupyter notebook
  1. 编写如下代码,获取matplotlib包所在的配置文件的路径
import 
D:Anaconda3libsite-packagesmatplotlibmpl-datamatplotlibrc

2.根据上面的路径打开文件夹(根据自己实际的输出路径去操作)

D:Anaconda3libsite-packagesmatplotlibmpl-datafontsttf

3.加入中文字体

dff59d1c0e42c639fbe76e7a1c5fbd5e.png
  • 打开文件后可以看到满屏的字体文件,但没有一个是支持中文的
  • 这时我们需要在网上下载一个中文字体,小伙伴们下载自己喜欢的字体,这里以SimHei为例
  • 把中文字体文件放到文件夹里
  • 到此,准备工作结束。解决方案有以下两种:

一、简单粗暴型

每次绘制图表前输入以下代码

import 

值得注意的是,输入的字体名称必须和上面准备工作中加入的字体文件名称一致

二、一劳永逸型

  1. 根据上面准备工作获取matplotlib包所在的配置文件的路径,打开matplotlibrc文件(以记事本方式或其他编辑器方式打开)
D:Anaconda3libsite-packagesmatplotlibmpl-datamatplotlibrc

8b2dc4b860550c8fbac2a38728de773d.png

2.找到 #font.sans-serif,去掉前面的#,并在:后面写上在准备工作加入的中文字体的名 称SimHei

5f202165203300521bebc5b688072dce.png

3.找到#axes.unicode_minus,去掉前面的#,并在:改为False

eb644d63cbf38b75048f088d8c11c3e1.png

修改完毕后记得保存关闭,

C:UsersAlice.matplotlib

打开该路径下的文件夹,删除tex.cache文件和fontList.json文件

11c42c6ab1a1a37d5a6764f08623c909.png

然后重新启动Jupyter notebook,等待奇迹的发生

小伙伴们可以根据自己的情况,选择一种解决方案

5fb94210aaca84df5c28250f93e79e60.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值