Python柱状图x轴上的中文不能表示怎么办
时间: 2024-03-03 08:50:29 浏览: 53
如果在 Python 中绘制柱状图时 x 轴上的标签是中文,可能会出现乱码的问题。这是因为 Python 默认使用的字体不支持中文字符集。要解决这个问题,可以在代码中指定使用支持中文字符集的字体。
以下是一种设置字体的方式:
```python
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
# 读取Excel文件
df = pd.read_excel('data.xlsx')
# 提取身高和体重列
height = df['身高']
weight = df['体重']
# 设置字体
font = FontProperties(fname='SimHei.ttf', size=14)
# 绘制柱状图
plt.bar(range(len(df)), height, label='身高')
plt.bar(range(len(df)), weight, label='体重', bottom=height)
# 设置x轴标签
plt.xticks(range(len(df)), df['姓名'], fontproperties=font)
# 添加图例和标签
plt.legend()
plt.xlabel('姓名', fontproperties=font)
plt.ylabel('身高和体重', fontproperties=font)
# 显示图形
plt.show()
```
这段代码中,我们使用了 `FontProperties` 类指定了一个支持中文字符集的字体文件,然后在设置 x 轴标签和坐标轴标签时使用了这个字体。你需要将 `SimHei.ttf` 替换成你自己的字体文件名,并将字体文件放在正确的路径下。
通过这种方式,就可以在 Python 中绘制出带有中文标签的柱状图了。
阅读全文