Python数据可视化(微课版)-脊线图法

本文通过Python的Altair库展示了如何利用脊线图来分析2019年企业商品的退单量变化。代码示例详细解释了如何从CSV数据中读取每日退单量,并生成脊线图,揭示退单量在一年中的波动,尤其指出7月份达到峰值,之后退单量显著下降。脊线图是一种有效的可视化工具,用于展示数据随时间的变化趋势。
摘要由CSDN通过智能技术生成

3.10.1  脊线图及应用场景

1.脊线图简介

脊线图是部分重叠的线形图,用以在二维空间产生山脉的印象,其中每一行对应的是一个类别,而x轴对应的是数值的范围,波峰的高度代表出现的次数。

2.应用场景

适用于可视化指标数据随时间或空间分布的变化。例如,为了分析不同食品类型与二氧化碳排放量的关系,我们可以使用R语言绘制两者之间的脊线图,如图3-27所示。

图3-27 食物类型与二氧化碳排放量

3.10.2  Python案例实战

为了深入研究该企业在2019年每个月份的商品退单量情况,我们使用每日退单量数据表(return_days.csv),该表包含退单日期(date)和退单量(return)两个字段,然后利用Altair库绘制每月商品退单量的脊线图,其中横轴是退单量,纵轴是退单所在的月份,山峰的高低表示退单的次数,代码如下:

#导入相应库

import altair as alt

import pandas as pd

#连接退单数据

source = pd.read_csv('D:/Python数据可视化分析与案例实战/ch03/return_days.csv',',')

step = 25

overlap = 1

#配置图形参数

alt.Chart(source, height=step).transform_timeunit(Month='month(date)'

).transform_joinaggregate(mean_temp='mean(return)', groupby=['Month']

).transform_bin(['bin_max', 'bin_min'], 'return'

).transform_aggregate(value='count()',groupby=['Month','mean_temp','bin_min','bin_max']

).transform_impute(impute='value',groupby=['Month','mean_temp'],key='bin_min',value=0

).mark_area(interpolate='monotone',fillOpacity=0.8,stroke='lightgray',strokeWidth=0.3

).encode(

    alt.X('bin_min:Q',bin='binned',title='退单量'),

    alt.Y('value:Q',scale=alt.Scale(range=[step, -step * overlap]),axis=None),

    alt.Fill('mean_temp:Q',legend=None,scale=alt.Scale(domain=[30, 5],scheme='redyellowblue')

    )

).facet(

    row=alt.Row('Month:T',title=None,header=alt.Header(labelAngle=0, labelAlign='right', format='%B')

    )

).properties(title='退单量分析',bounds='flush'

).configure_facet(spacing=0

).configure_view(stroke=None

).configure_title(anchor='end')

在Jupyter lab中运行上述代码,生成如图3-28所示的脊线图,从图形可以看出:在2019年,商品的退单量呈现先上升后下降的趋势,在7月份达到峰值,下半年退单量下降较快。

图3-28  脊线图

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王国平

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值