编写程序实现多组数据对比的柱状图。一共有三组数据,从左到右依次属于Iphone、Huawei、Xiaomi。每组数据有6根柱子,从左到右依次代表A1、A2、A3、A4、A5、A6共六个城市在某一天的销售额。用python写
时间: 2024-11-06 08:20:32 浏览: 8
互联网面试,华为OD,leetcode题库,常用数据结构和算法汇总,很全,C++实现
在Python中,我们可以使用matplotlib库来创建这种多组数据的柱状图。这里是一个简单的示例,展示如何实现这个需求:
```python
import matplotlib.pyplot as plt
# 数据,假设这是三个品牌六个城市的一天销售额
iphone_sales = [50, 70, 80, 90, 100, 120] # Iphone各城市的销售额
huawei_sales = [60, 75, 85, 95, 105, 115] # Huawei各城市的销售额
xiaomi_sales = [40, 65, 70, 90, 100, 110] # Xiaomi各城市的销售额
# 创建数据标签
cities = ['A1', 'A2', 'A3', 'A4', 'A5', 'A6']
# 创建图表
fig, ax = plt.subplots()
# 绘制柱状图
ax.bar(cities, iphone_sales, label='Iphone', color='blue')
ax.bar(cities, huawei_sales, bottom=iphone_sales, label='Huawei', color='green')
ax.bar(cities, xiaomi_sales, bottom=[i+j for i,j in zip(iphone_sales, huawei_sales)], label='Xiaomi', color='red')
# 添加标题和轴标签
ax.set_title('City Sales by Brand on a Given Day')
ax.set_xlabel('Cities')
ax.set_ylabel('Sales (in thousands)')
# 显示图例
ax.legend()
# 显示图形
plt.show()
```
在这个例子中,我们首先导入了必要的库,然后定义了每个品牌的销售额列表。接着,通过`bar()`函数绘制了柱状图,并使用`bottom`参数来堆积柱子以便于显示多组数据。最后,设置了图表的标题、坐标轴标签并添加了图例。
阅读全文