matplotlib中文显示为方框(Manjaro也适用与许多linux版本)

本文详细介绍了如何在Matplotlib中正确显示中文及解决负号显示问题,包括字体安装、配置文件修改及代码设置步骤,适用于Linux环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考链接

Sail的博客

1.首先你先查看你的ttf的目录

比如我的是
/opt/anaconda/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf
你的可以通过运行一下Python代码来查询

import matplotlib
print (matplotlib.matplotlib_fname())
  • 如果你是查找目录的话,你还需要进入你查找的目录下,执行
cd /fonts/ttf

然后将你的黑体点击去下载字体放在里面去,你也可以从Windows中获取一个,Windows字体的路径在C盘 --Windows--Fonts,你可以通过邮件的方式,发送到你linux电脑

2.配置

首先删除~/.cache/matplotlib的缓冲目录
在这里插入图片描述
修改/opt/anaconda/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc文件(这里应该是前面查询的目录下的matplotlibrc文件),修改如下:

font.family         : sans-serif        

# 这里其实在最前面加上SimHei即可
font.sans-serif     : SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif 
axes.unicode_minus,将True改为False,作用就是解决负号'-'显示为方块的问题

然后重启。

  • 然后在你画图的代码中,加入这几行,即可。
import matplotlib.pyplot as plt
font_name = 'SIMHEI' 
plt.rcParams['font.family'] = ['SimHei'] #用来正常显示中文标签 
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

最终效果
在这里插入图片描述

参考链接

Sail的博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

自由小冰儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值