matplotlib堆叠柱状图 显示中文
时间: 2024-03-21 19:36:46 浏览: 95
matplotlib输出图象的中文显示问题
matplotlib是一个常用的Python绘图库,可以用创建各种类型的图表,包括堆叠柱状图。要显示中文,需要进行一些配置。
首先,确保你已经安装了matplotlib和中文字体库。可以使用以下命令安装中文字体库:
```
sudo apt-get install fonts-wqy-zenhei
```
然后,可以按照以下步骤创建一个堆叠柱状图并显示中文:
1. 导入必要的库:
```python
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm
```
2. 设置中文字体:
```python
# 设置中文字体路径
font_path = '/usr/share/fonts/truetype/wqy/wqy-zenhei.ttc'
# 加载中文字体
font_prop = fm.FontProperties(fname=font_path)
```
3. 创建数据:
```python
categories = ['类别1', '类别2', '类别3']
values1 = [10, 15, 20]
values2 = [5, 10, 15]
```
4. 创建堆叠柱状图:
```python
# 设置图表大小
plt.figure(figsize=(8, 6))
# 绘制第一个柱状图
plt.bar(categories, values1, label='柱状图1')
# 绘制第二个柱状图,设置bottom参数为values1,实现堆叠效果
plt.bar(categories, values2, bottom=values1, label='柱状图2')
# 添加图例
plt.legend()
# 设置x轴标签
plt.xlabel('类别', fontproperties=font_prop)
# 设置y轴标签
plt.ylabel('数值', fontproperties=font_prop)
# 设置标题
plt.title('堆叠柱状图', fontproperties=font_prop)
# 显示中文
plt.rcParams['font.sans-serif'] = ['WenQuanYi Zen Hei']
# 显示图表
plt.show()
```
这样就可以创建一个堆叠柱状图,并显示中文。
阅读全文