横坐标有五个城市,绘制并列柱状图
时间: 2024-03-22 09:42:30 浏览: 68
柱状图的绘制
3星 · 编辑精心推荐
如果你想要绘制横坐标有五个城市的并列柱状图,可以使用 matplotlib 库来实现。以下是一个示例代码:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 创建 DataFrame
data = pd.DataFrame({
'city': ['北京', '上海', '广州', '深圳', '成都'],
'value1': [100, 120, 80, 90, 70],
'value2': [90, 110, 70, 80, 60],
'value3': [80, 100, 60, 70, 50]
})
# 创建画布和子图
fig, ax = plt.subplots()
# 设置每个柱子的宽度
bar_width = 0.2
# 绘制三组并列柱状图
ax.bar(data['city'] - bar_width, data['value1'], width=bar_width, label='value1')
ax.bar(data['city'], data['value2'], width=bar_width, label='value2')
ax.bar(data['city'] + bar_width, data['value3'], width=bar_width, label='value3')
# 设置 x 轴标签和标题
ax.set_xlabel('城市')
ax.set_ylabel('数值')
ax.set_title('城市数值分布')
# 设置图例
ax.legend()
# 显示图形
plt.show()
```
在上面的代码中,我们使用了 `bar()` 函数绘制三组并列柱状图。为了让柱子不重叠,我们通过 `bar_width` 变量设置了每个柱子的宽度,并在绘制时分别将柱子的位置向左、向右移动了 `bar_width` 的距离。最后,我们使用 `legend()` 函数设置了图例,使得每组柱子对应的含义可以清晰地显示出来。
阅读全文