matplotlib显示中文,百分百好使

执行以下代码查看一下你matplotlib有哪些字体

from matplotlib.font_manager import fontManager
import os
fonts = [font.name for font in fontManager.ttflist if os.path.exists(font.fname) and os.stat(font.fname).st_size>1e6]
for font in fonts:
    print(font)

如果有CN字体那就别学网上下什么思源黑体,直接用就好了嘛,随便哪个字体用一下:

import matplotlib.pyplot as plt
plt.rcParams['font.family'] = ['AR PL UMing CN']
plt.plot((1,2,3),(4,3,-1))
plt.xlabel('横坐标')
plt.ylabel('纵坐标')
plt.show()

都是可以输出结果的。

那如果真的没有这些字体怎么办?

那就下载呀,网上随便下个ttf格式的字体就好,不过注意一下别下到用不了的字体那你后边怎么操作都没用

import matplotlib    
print(matplotlib.matplotlib_fname())

输出下在哪个目录

这个目录下有个/fonts/ttf,把下载的字体包复制进去

接下来清除下缓存

cd ~/.cache/matplotlib
rm -rf *.*

删除后记得reload一下

from matplotlib.font_manager import _rebuild
_rebuild()

这个时候你缓存的json文件里就有

这个时候你就能引用字体了。

不过如果想省略指定字体那行代码也可以,修改配置文件matplotlibrc  同样在matplotlib/mpl-data目录下面,修改下面三项配置

font.family         : sans-serif
font.sans-serif     : SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
axes.unicode_minus:False  #作用就是解决负号'-'显示为方块的问题

这时候默认就用这个字体了,完事

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值