解决Ubuntu下matplotlib中文乱码问题-以添加宋体:simsun为例

解决Ubuntu下matplotlib中文乱码问题-以添加宋体:simsun为例

  1. 先从simsun官网上下载宋体字体库
  2. 查看matplotlib配置文件位置
 import matplotlib
 print(matplotlib.matplotlib_fname())

输出位置:/APP/anaconda/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc

  1. 改变位置到字体库
$cd ~/APP/anaconda/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf
  1. 在此可以用ls看到所有的matplotlib支持的字体,将下载的simsun.ttf也复制到这个地方(也就是说将下载的库,复制到matplotlib的库下)
  2. 删除当前用户matplotlib 的缓冲文件
$cd ~/.cache/matplotlib
$rm -rf *.*
  1. 在python代码中添加下面语句就可以了
import matplotlib.pyplot as plt
plt.rcParams[u'font.sans-serif'] = ['simsun‘] 用simhei 字体显示中文
plt.rcParams['axes.unicode_minus'] = False 这个用来正常显示负号

两个骰子点数和显示
如上图所示可以显示中文了

在PyCharm中使用matplotlib绘制中文图表时遇到乱码问题,通常是因为字体缺失或者编码设置不正确导致的。解决步骤如下: 1. **安装支持中文的字体**: 首先,确保你的系统中有支持中文的字体包,如SimHei、SimSun等。如果没有,可以下载并在Python环境中添加。例如,在Windows上,可以在`C:\Windows\Fonts`目录下查找,然后将字体文件复制到Python的`site-packages/matplotlib/mpl-data/fonts/ttf/`目录。 2. **修改Matplotlib配置**: 打开matplotlib的配置文件`matplotlibrc`,通常位于`~/.matplotlib/matplotlibrc`(Linux/Mac用户)或`%USERPROFILE%\.matplotlib\matplotlibrc`(Windows用户)。在文件中找到`text.usetex`和`text.latex.preamble`行,将其注释掉,因为它们可能导致中文显示问题。然后添加`font.sans-serif = SimHei, SimSun, FangSong, Microsoft YaHei, sans-serif`这一行,指定默认的中文字体。 ``` # 在合适的位置添加或修改以下内容: font.sans-serif : SimHei, SimSun, FangSong, Microsoft YaHei, sans-serif ``` 3. **检查编码设置**: 确保你的Python脚本和数据文件都使用UTF-8或其他支持中文字符的编码格式。如果是在读取文件时出错,记得在打开文件时指定正确的编码,如`open('file.txt', 'r', encoding='utf-8')`。 4. **运行代码并查看结果**: 保存并关闭配置文件后,重启Python或PyCharm,再尝试绘制中文图表看是否解决了乱码问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值