matplotlib绘制折线图解决中文乱码
时间: 2023-09-11 17:10:35 浏览: 156
matplotlib绘图实例.pdf
在matplotlib中绘制中文时,需要解决中文显示乱码的问题。可以按照以下步骤来解决:
1. 安装中文字体
在Linux系统中,可以通过以下命令安装中文字体:
```
sudo apt-get install ttf-wqy-zenhei
```
在Windows系统中,可以从官方网站下载并安装中文字体。
2. 修改matplotlib配置文件
在代码中添加以下代码,修改matplotlib配置文件:
``` python
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
```
其中,`['SimHei']`是指定使用的中文字体,`False`是为了解决负号显示问题。
3. 指定中文字符集
``` python
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
myfont = fm.FontProperties(fname='/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc')
plt.rcParams['font.family'] = ['sans-serif']
plt.rcParams['font.sans-serif'] = [myfont.get_name()]
```
其中,`fname`指定中文字体的路径,`get_name()`获取中文字体的名称。
4. 直接使用中文字体
``` python
import matplotlib.pyplot as plt
plt.plot(x, y)
plt.xlabel('横轴', fontproperties='SimHei')
plt.ylabel('纵轴', fontproperties='SimHei')
plt.title('标题', fontproperties='SimHei')
```
在每个绘图元素中,使用`fontproperties`指定中文字体即可。
以上是几种解决中文乱码的方法,根据个人喜好选择即可。
阅读全文