如何使用python画不同的五个横坐标,每个分别对应4个不同颜色柱子的柱状图?
时间: 2024-11-10 20:26:02 浏览: 8
在Python中,你可以使用matplotlib库来创建这种类型的柱状图。下面是一个简单的例子,展示如何绘制5个不同的横坐标,每个横坐标对应4个不同颜色的柱子:
```python
import matplotlib.pyplot as plt
# 定义数据和颜色列表
categories = ['A', 'B', 'C', 'D', 'E']
data = [10, 20, 30, 40, 50]
colors = ['red', 'green', 'blue', 'orange']
# 创建一个新的figure和subplot
plt.figure(figsize=(8, 6))
ax = plt.subplot()
# 遍历每个横坐标
for i in range(5):
# 绘制柱子
ax.bar(categories[i], data[i], color=colors[(i*4) % len(colors)], width=0.5)
# 移动x轴刻度标签到柱子下方
ax.xaxis.set_label_position('bottom')
ax.tick_params(axis='x', labelbottom=False)
# 如果不是第一个柱子,移动y轴刻度标签
if i > 0:
ax.yaxis.set_ticks_position('none')
# 设置x轴标题和横坐标的标签
ax.set_xlabel('横坐标')
ax.set_xticks(range(5))
ax.set_xticklabels(categories)
# 显示图形
plt.show()
```
在这个示例中,我们先定义了类别、数值和颜色列表,然后用循环依次绘制5组柱子,每组4根,颜色按照一个环形模式循环。最后,调整了x轴和y轴的标签位置。
阅读全文