Python画饼图实例(使用matplotlib,pandas,numpy); 数据为“京东平台子类目的销售额.xlsx”
时间: 2024-05-05 21:18:18 浏览: 8
好的,以下是用Python绘制饼图的实例代码,你需要安装matplotlib、pandas和numpy库才能运行:
```
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 读取Excel文件
df = pd.read_excel('京东平台子类目的销售额.xlsx')
# 提取销售额数据
sales = df['销售额']
# 计算每个子类目的销售额占比
sizes = [s / sum(sales) for s in sales]
# 设置饼图颜色
colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue']
# 绘制饼图
plt.pie(sizes, labels=df['子类目'], colors=colors, autopct='%1.1f%%', startangle=140)
# 添加图标题
plt.title('京东平台子类目销售额占比')
# 显示图形
plt.show()
```
这段代码读取Excel文件中的数据,计算子类目的销售额占比,并用matplotlib绘制饼图。注意,为了保证图像美观,可以设置饼图的颜色和起始角度,并使用autopct参数将占比显示为百分数。
希望我的回答能对你有所帮助!
相关问题
Python画饼图实例(使用matplotlib,pandas,numpy); 数据为学习通资料里的data文件夹下的文件“京东平台子类目的销售额.xlsx”
好的,以下是Python画饼图的实例(使用matplotlib,pandas,numpy):
``` python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 读取数据
data = pd.read_excel('data/京东平台子类目的销售额.xlsx')
# 取出需要的列
data = data[['子类目名称', '销售额']]
# 按照销售额大小进行排序
data = data.sort_values(by='销售额', ascending=False)
# 取出前10个子类目
data = data.head(10)
# 计算总销售额
total_sales = data['销售额'].sum()
# 计算每个子类目的销售额占比
data['占比'] = data['销售额'] / total_sales
# 设置中文字体
plt.rcParams['font.family'] = ['SimHei']
# 绘制饼图
plt.pie(data['占比'], labels=data['子类目名称'], autopct='%.2f%%')
# 添加标题
plt.title('京东平台销售额前10子类目占比图')
# 显示图形
plt.show()
```
这段代码可以读取“京东平台子类目的销售额.xlsx”文件中的数据,并绘制出前10个子类目的销售额占比饼图。
Python画饼图实例(使用matplotlib,pandas,numpy)
好的,下面是Python画饼图的一个实例:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 构造数据
data = pd.Series(np.random.rand(4), index=['A', 'B', 'C', 'D'], name='Pie Plot')
explode = [0, 0.1, 0, 0]
# 绘制饼图
fig, ax = plt.subplots(figsize=(6, 6))
data.plot.pie(autopct='%1.1f%%', explode=explode, ax=ax, shadow=True)
ax.set_ylabel('')
plt.title('Pie Plot')
plt.show()
```
这段代码使用了pandas、numpy和matplotlib库来绘制饼图。其中,我们使用了pandas的Series数据结构来存储饼图的数据,然后使用matplotlib的pie方法来绘制饼图。autopct参数用于控制饼图上各部分的百分比显示格式,explode参数用于设置某一部分的偏移量(即“突出显示”某一部分),shadow参数用于添加阴影效果。最后,我们可以使用标题和标签等方式美化饼图。
希望这个实例对你有所帮助!