python的plt中文显示错误
时间: 2023-07-25 20:27:40 浏览: 172
如果在使用 matplotlib 绘制图形时,中文显示出现乱码,可以按照以下步骤来解决:
1. 安装中文字体库
在 Linux 系统下,可以通过以下命令安装中文字体库:
```
sudo apt-get install ttf-wqy-zenhei
```
在 Windows 系统下,可以在网上下载中文字体库后双击安装。
2. 修改 matplotlib 的配置文件
找到 matplotlib 的配置文件 matplotlibrc,可以通过以下命令来查找其位置:
```
import matplotlib
print(matplotlib.matplotlib_fname())
```
然后用文本编辑器打开该文件,找到以下两行:
```
#font.family : sans-serif
#font.sans-serif : Helvetica, Avant Garde, Computer Modern Sans serif,
```
将其修改为:
```
font.family : sans-serif
font.sans-serif : SimHei, Arial
```
保存修改后的文件即可。
注意:以上修改只会对当前用户生效,如果需要全局生效,则需修改系统级的 matplotlibrc 配置文件。
相关问题
python生成的图表中文显示错误
这种问题通常是由于 matplotlib 默认使用的字体不支持中文导致的。解决方法如下:
1. 安装中文字体库
在 Ubuntu 系统中,可以通过以下命令安装中文字体库:
```
sudo apt-get install fonts-wqy-zenhei
```
在 Centos 系统中,可以通过以下命令安装中文字体库:
```
sudo yum install -y fontconfig && sudo fc-cache -fv && sudo yum install -y wqy-zenhei-fonts
```
2. 设置 matplotlib 字体
在代码中添加以下代码:
```python
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['WenQuanYi Micro Hei'] # 设置中文字体为文泉驿微米黑字体
plt.rcParams['axes.unicode_minus'] = False # 解决负号'-'显示为方块的问题
```
其中,`WenQuanYi Micro Hei` 可以替换为其他已经安装的中文字体。
3. 使用中文字符串
在代码中使用中文字符串时,需要在字符串前加上一个小写字母 `u`,例如:
```python
plt.title(u'中文标题')
plt.xlabel(u'x轴标签')
plt.ylabel(u'y轴标签')
```
以上就是解决 python 生成的图表中文显示错误的方法。
plt.rcParams错误
根据提供的引用内容,plt.rcParams是用于设置matplotlib的全局参数的。其中plt.rcParams['font.sans-serif']=['Simhei']用于设置字体为中文黑体SimHei。而在引用中,报错信息RuntimeWarning: Glyph 20540 missing from current font. font.set_text(s, 0, flags=flags)表明SimHei字体中缺少了字符20540,即“你”字。这是因为SimHei字体并不包含所有的中文字符,所以需要更换其他字体或者手动添加缺失的字符。
以下是两种解决plt.rcParams错误的方法:
1.更换字体
```python
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 更换为微软雅黑字体
```
2.手动添加缺失字符
```python
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"C:\Windows\Fonts\simhei.ttf") # 手动添加SimHei字体文件路径
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False # 解决负号显示问题
```
阅读全文