拼多多作为互联网电商的一匹黑马,短短几年用户的规模已经超过3亿。2019年9月拼多多平台对所有子类目的销售额进行了统计,结果如表3所示。 表3 拼多多平台子类目的销售额 子类目 销售额(亿) 童装 29665 奶粉辅食 3135.4 孕妈专区 4292.4 洗护喂养 5240.9 宝宝尿裤 5543.4 春夏新品 5633.8 童车童床 6414.5 玩具文娱 9308.1 童鞋 10353 根据表3的数据绘制图表,具体要求如下:(6) 添加图例,以两列的形式进行显示,图例与饼图重叠,需使用bbox_to_anchor设置图例的布局; 添加表格放于饼图下方,说明子类目的销售额,单元格内容居中显示。python饼图中,怎么将图例分成两行
时间: 2024-03-11 10:51:16 浏览: 251
在Python中,可以使用`legend`函数的`ncol`参数来设置图例分成的列数。具体而言,将`ncol`设置为2即可将图例分成两列显示。
修改之前的代码,在`ax.legend`函数中添加`ncol=2`参数即可:
```
import matplotlib.pyplot as plt
# 数据
data = {
"童装": 296.65,
"奶粉辅食": 31.354,
"孕妈专区": 42.924,
"洗护喂养": 52.409,
"宝宝尿裤": 55.434,
"春夏新品": 56.338,
"童车童床": 64.145,
"玩具文娱": 93.081,
"童鞋": 103.53
}
# 绘制饼图
fig, ax = plt.subplots()
explode = [0] * len(data)
explode[list(data.keys()).index("童鞋")] = 0.1
ax.pie(data.values(), labels=data.keys(), autopct='%1.2f%%', startangle=90, radius=0.75, explode=explode, textprops={'fontsize': 12})
# 添加标题
ax.set_title("拼多多平台子类目的销售额", fontsize=16)
# 添加图例
ax.legend(data.keys(), bbox_to_anchor=(1.1, 1), loc='upper left', fontsize=12, ncol=2)
# 添加表格
table_data = [[k, v] for k, v in data.items()]
table = ax.table(cellText=table_data, colLabels=["子类目", "销售额(亿)"], loc='bottom', cellLoc='center')
table.auto_set_font_size(False)
table.set_fontsize(12)
table.scale(1, 1.5)
plt.show()
```
运行代码后,图例会被分成两列显示。
阅读全文