python 分5组柱状图
时间: 2023-07-19 16:42:59 浏览: 51
好的,以下是Python分5组柱状图的实现方法:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
data = [20, 35, 30, 35, 27, 40, 25, 32, 34, 20, 25, 30, 28, 20, 35, 28, 30, 25, 30, 45]
names = ['A', 'B', 'C', 'D', 'E']
# 将数据分成5组
data_groups = [data[i:i+4] for i in range(0, len(data), 4)]
# 计算每组数据的位置
x = np.arange(len(names))
# 绘制柱状图
for i in range(5):
plt.bar(x + i*0.15, data_groups[i], width=0.15, label='Group {}'.format(i+1))
# 设置x轴标签和标题
plt.xticks(x + 0.3, names)
plt.xlabel('Group')
plt.ylabel('Number of sales')
plt.title('Sales by group')
# 显示图例
plt.legend()
# 显示图像
plt.show()
```
这段代码会生成一个分5组柱状图,其中每组数据都由不同颜色的柱状图表示。你可以根据自己的数据和需求修改代码中的数据和标签,来实现自己的分组柱状图。
相关问题
python分5组柱状图,5组里还有物种类别
好的,以下是Python分5组柱状图,并在每组中添加物种类别的实现方法:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
data = {'group_1': {'species_A': 20, 'species_B': 35, 'species_C': 30},
'group_2': {'species_A': 35, 'species_B': 27, 'species_C': 40},
'group_3': {'species_A': 25, 'species_B': 32, 'species_C': 34},
'group_4': {'species_A': 20, 'species_B': 25, 'species_C': 30},
'group_5': {'species_A': 28, 'species_B': 20, 'species_C': 35}}
# 物种类别
species = ['species_A', 'species_B', 'species_C']
# 计算每组数据的位置
x = np.arange(len(data))
# 绘制柱状图
for i, group_name in enumerate(data):
group_data = [data[group_name][s] for s in species]
plt.bar(x + i*0.15, group_data, width=0.15, label=group_name)
# 设置x轴标签和标题
plt.xticks(x + 0.3, species)
plt.xlabel('Species')
plt.ylabel('Number of sales')
plt.title('Sales by group and species')
# 显示图例
plt.legend()
# 显示图像
plt.show()
```
这段代码会生成一个分5组柱状图,并在每组中添加物种类别的柱状图。你可以根据自己的数据和需求修改代码中的数据和标签,来实现自己的分组柱状图。
python分5组柱状图,5组里还有5种类别
好的,以下是Python分5组柱状图,并在每组中添加5种类别的实现方法:
```python
import matplotlib.pyplot as plt
import numpy as np
# 创建数据
data = {'group_1': {'species_A': 20, 'species_B': 35, 'species_C': 30, 'species_D': 25, 'species_E': 22},
'group_2': {'species_A': 35, 'species_B': 27, 'species_C': 40, 'species_D': 30, 'species_E': 20},
'group_3': {'species_A': 25, 'species_B': 32, 'species_C': 34, 'species_D': 35, 'species_E': 29},
'group_4': {'species_A': 20, 'species_B': 25, 'species_C': 30, 'species_D': 32, 'species_E': 25},
'group_5': {'species_A': 28, 'species_B': 20, 'species_C': 35, 'species_D': 30, 'species_E': 18}}
# 物种类别
species = ['species_A', 'species_B', 'species_C', 'species_D', 'species_E']
# 计算每组数据的位置
x = np.arange(len(data))
# 绘制柱状图
for i, group_name in enumerate(data):
group_data = [data[group_name][s] for s in species]
plt.bar(x + i*0.15, group_data, width=0.15, label=group_name)
# 设置x轴标签和标题
plt.xticks(x + 0.3, species)
plt.xlabel('Species')
plt.ylabel('Number of sales')
plt.title('Sales by group and species')
# 显示图例
plt.legend()
# 显示图像
plt.show()
```
这段代码会生成一个分5组柱状图,并在每组中添加5种类别的柱状图。你可以根据自己的数据和需求修改代码中的数据和标签,来实现自己的分组柱状图。