Python 语言 用 Pandas+Pyecharts 制作门店销售额动态排名榜 水球图 + 滚动播放

Python阿木 发布于 1 天前 3 次阅读


Python 使用 Pandas 和 Pyecharts 制作门店销售额动态排名榜(水球图 + 滚动播放)

在商业分析中,门店销售额的动态排名对于了解市场趋势和优化销售策略至关重要。本文将介绍如何使用 Python 的 Pandas 和 Pyecharts 库来制作一个包含水球图和滚动播放功能的门店销售额动态排名榜。我们将通过以下步骤实现这一目标:

1. 数据准备
2. 数据处理
3. 水球图制作
4. 滚动播放功能实现
5. 整合与展示

1. 数据准备

我们需要准备一些门店销售额的数据。以下是一个示例数据集:

python
import pandas as pd

示例数据
data = {
'门店': ['门店A', '门店B', '门店C', '门店D', '门店E'],
'销售额': [12000, 15000, 18000, 13000, 16000]
}

创建 DataFrame
df = pd.DataFrame(data)

2. 数据处理

在制作图表之前,我们需要对数据进行一些处理,例如计算排名和百分比等。

python
计算总销售额
total_sales = df['销售额'].sum()

计算每个门店的销售额占比
df['占比'] = df['销售额'] / total_sales 100

对数据进行排序
df_sorted = df.sort_values(by='销售额', ascending=False)

计算排名
df_sorted['排名'] = range(1, len(df_sorted) + 1)

3. 水球图制作

Pyecharts 提供了丰富的图表类型,其中包括水球图。以下是如何使用 Pyecharts 创建水球图的代码:

python
from pyecharts.charts import Liquid
from pyecharts import options as opts

创建水球图
liquid = Liquid()

设置水球图样式
liquid.add(
series_name="销售额",
data=[df_sorted['占比'][0]],
shape="circle",
color="blue",
is_calculable=True,
label_opts=opts.LabelOpts(position="inside", formatter="{b}: {c}%")
)

设置全局配置
liquid.set_global_opts(title_opts=opts.TitleOpts(title="门店销售额占比"))

渲染图表到 HTML 文件
liquid.render("liquid_chart.html")

4. 滚动播放功能实现

为了实现滚动播放功能,我们可以使用 JavaScript 来控制水球图的动态更新。以下是如何在 HTML 文件中添加滚动播放功能的代码:

html

var chartDom = document.getElementById('container');
var myChart = echarts.init(chartDom);
var option;

// 初始化图表
option = {
title: {
text: '门店销售额占比',
left: 'center'
},
series: [
{
type: 'liquidfill',
data: [0],
shape: 'circle',
color: 'blue',
label: {
formatter: '{b}: {c}%',
position: 'inside'
}
}
]
};

myChart.setOption(option);

// 滚动播放数据
var data = [df_sorted['占比'][0]];
var index = 0;
setInterval(function () {
index = (index + 1) % data.length;
myChart.setOption({
series: [{
data: [data[index]]
}]
});
}, 2000);

5. 整合与展示

将上述代码整合到一个 Python 脚本中,并运行该脚本,你将得到一个包含水球图和滚动播放功能的门店销售额动态排名榜。你可以将生成的 HTML 文件在浏览器中打开,查看效果。

python
整合代码
from pyecharts.charts import Liquid
from pyecharts import options as opts

... 数据处理代码 ...

创建水球图
liquid = Liquid()

... 水球图设置代码 ...

设置全局配置
liquid.set_global_opts(title_opts=opts.TitleOpts(title="门店销售额占比"))

渲染图表到 HTML 文件
liquid.render("liquid_chart.html")

通过以上步骤,我们成功地使用 Python 的 Pandas 和 Pyecharts 库制作了一个包含水球图和滚动播放功能的门店销售额动态排名榜。这种方法可以帮助企业实时了解门店销售情况,为决策提供数据支持。