matplotlib识别不了中文

问题描述

想用matplotlib做折线图,x轴坐标设置如下

# 调整x轴刻度       
_x = list(x)
_xtick_labels = ['10点{}分'.format(i) for i in range(60)]
_xtick_labels += ['11点{}分'.format(i-60) for i in range(60,120)]

结果显示如下:文字没有任何显示,变成了方块

解决办法

1.下载字体 微雅软黑
2.修改配置文件

import matplotlib
print(matplotlib.matplotlib_fname())

结果显示:
F:\Anaconda3\lib\site-packages\matplotlib\mpl-data\matplotlibrc


注意是找mpldata下的fonts\ttf,将下载好的字体文件mysh.ttf粘贴进去
3.修改matplotlibrc文件
我用的vscode打开该文件,利用ctr+f依次搜索axes.unicode_minus、font.family、font.sans-serif ,找到对应的位置(font.family的搜索结果不止一个)撤掉#,修改如下:

axes.unicode_minus  : False    ## use unicode for the minus symbol
font.family         : Microsoft YaHei
font.sans-serif     : Microsoft YaHei, DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4.删除缓存

print(matplotlib.get_cachedir())

输出结果为C:\Users\haru1.matplotlib,找到该文件夹
在这里插入图片描述
删除该文件夹下的所有文件,注意不是删除该文件夹哦
保!存!编辑好的python文件,退出,打开,重新运行

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值