问题描述
想用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文件,退出,打开,重新运行