您现在的位置是:热点 >>正文
可视化神器Plotly玩转漏斗图
热点2247人已围观
简介...
认识漏斗图
漏斗图是网站销售领域一种十分常用的图表,主要是用来分析在各个阶段的流失和转化情况。比如在某个商城中,我们统计用户在不同阶段的人数来分析转化率:
商城UV:商城每天的访问人数 搜索人数:在商城有过搜索行为的用户数 加购人数:有加购行为的用户数 提交订单:有多少用户提交订单 点击支付:提交订单之后有多少用户点击支付按钮 支付成功:最终支付成功的用户数
从搜索人数开始到支付成功,每个阶段用户都存在一定的流失,漏斗图就能很好地将这种流失和转化情况显示出来。
除去柱状图、饼图、折线图,漏斗图应该是自己在工作画的最为频繁的一种图表。下面我们通过模拟某个电商网站的用户行为来绘制漏斗图。
整体效果
看一个漏斗图的整体效果:
视频
导入库
基于两种方式实现:
plotly_express :px plotly.graph_objects:go import pandas as pd import numpy as np # plotly两个绘图接口 import plotly_express as px import plotly.graph_objects as go 基于px实现
基础漏斗图
模拟一份商城数据:
data1 = pd.DataFrame({ "number": [1200,900,700,400,180,100], "stage": ["浏览网站","搜索","加购","提交订单","点击支付","支付成功"]} ) data1
绘制一个基础漏斗图:
# 绘图&nbs可视p;fig = px.funnel( data1, # 待绘图数据 x="number", # x轴的数据 y="stage" # y轴的数据 ) fig.show()
我们还可以加上一个颜色参数color:
# 加上颜色参数color fig = px.funnel( data1, x="number", y="stage", color="number" # 颜色参数 ) fig.show()
如果我们的颜色设置成number列,用数值意义似乎不准确,更好地应该是不同的阶段表示,换成stage:
# 加上颜色参数color fig = px.funnel( data1, x="number", y="stage", color="stage" # !!!改成stage ) fig.show()
看生成的漏斗图:最上面的是支付成功,通常我们希望的是数值最大的在最上面,于是我们将传入的数据翻转一下:
# 化神;加上颜色参数color fig = px.funnel( data1[::-1], # !!!数据翻转 x="number", y="stage", color="stage" # !!!改成stage ) fig.show()
分组漏斗
分组漏斗表示的含义将不同组别的漏斗图放在一个画布中,比如:看今年3月和2020年3月的数据对比情况,这叫做同比
同比:相同时期的对比,比如:2021年3月和2020年3月
环比:相邻时期的对比,比如:2021年3月和2021年2月
1、2020年3月份数据
2、2021年3月份数据
3、使用concat函数合并两组数据
4、绘制漏斗图
# 绘图 fig = px.funnel(df3,x="number",y="stages",color="time") fig.show()
绘制面积漏斗图
还是使用最上面的数据:
fig = px.funnel_area( data1, names = "stage", values = "number", ) fig.show()
我们观察到:面积漏斗图默认绘制的百分比,而普通漏斗图是数值
基于go实现
绘制基础漏斗图
from plotly 器Pimport graph_objects as go fig = go.Figure(go.Funnel( x=[1000,800,400,100], y=["浏览网站","加购","点击支付","支付成功"] )) fig.show()
改变漏斗图的颜色和边框
from plotly import graph_objects as go fig = go.Figure(go.Funnel( x=[1000,800,400,100], # 数据 y=["浏览网站","加购","点击支付","支付成功"], # 每个阶段的名称 textposition = "inside", # 文本位置:['inside', 'outside', 'auto', 'none'] textinfo = "value + percent initial", # 显示文本信息 ['label', 'text', 'percent initial',&lonbsp;'percent previous', 'percent total', 'value'] 前面选项的任意组合 opacity = 0.65, marker = {"color": ["deepskyblue", "lightsalmon", "tan", "silver"], "line": {"width": [4, 2, 3, 1, 1], "color": ["wheat", "wheat", "blue", "yellow"]}}, connector = {"line": {"color": "royalblue", "dash": "dot", "width": 3}}) ) tl fig.show()
我们需要注意textinfo参数的使用,它有3种使用方式:
percent initial:相对于初始值 percent previous:相对于前一个值 percent total:相对于整体数值
上面这个漏斗图使用的是percent initial(相对于初始值),百分比是这样来的:
1000/1000 = 100% 800 / 1000 = 80% 400 / 1000 = 40% 100 / 1000 = 10%
如果是percent previous:
1000/1000 = 100% 800 / 1000 = 80% 400 / 800 = 50% 100 / 400 = 25%
如果是percent total:
我们看看第一个百分比是如何计算的:
分组漏斗
from plotly import graph_objects as go stage = ["浏览网站","加购","点击支付","支付成功"] fig = go.Figure() fig.add_trace(go.Funnel( name = "2020年3月", # 图形轨迹名称 x y玩;= [1000,800,400,200], # 数据 y = stage, # 每个阶段名称 orientation = "h", # 方位 textposition = "inside", # 文本内容的位置 textinfo = "value+percent previous" # 显示文本内容 )) fig.add_trace(go.Funnel( name = "2021年2月", # 名称和数据需要改变 x = [1200,900,500,240], y = stage, orientation = "h", textposition = "inside", tex转漏tinfo = "value+percent total" )) fig.add_trace(go.Funnel( name = "2021年3月", # 名称和数据需要改变 x = [1500,1000,450,300], y = stage, orientation = "h", textposition = "inside", textinfo = "label+percent initial" )) fig.show()
在上面的图中,既可以观察到同比情况(2020年3月和2021年3月),也可以观察到环比情况(2021年3月和2月)
面积漏斗
from plotly import graph_objects as go fig = go.Figure(go.Funnelarea( text = ["浏览网站","加购","点击支付","支付成功"斗图], values = [5000, 2000, 800, 500], )) fig.show()
设置面积漏斗的颜色和边框
from plotly import graph_objects as go fig = go.Figure(go.Funnelarea( values = [3000, 2000, 800, 500], text = ["浏览网站","加购","点击支付","支付成功"], marker = {"colors": ["deepskyblue", "lightsalmon", "teal", "silver"], # 颜色 "line": {"color": ["red", "blue", "wheat", "wheat"], # 边框颜色和线条宽度 &n可视bsp; "width": [0, 1, 3, 5]}}, textfont = {"family": "Old Standard TT, serif", "size": 13, # 字体设置 "color": "black"}, opacity = 0.65)) # 透明度 fig.show()
多组面积漏斗
不同组别的漏斗图我们也可以分开放,将它们放在一个大的画布中:
from plotly import graph_objects as go fig = go.Figure() # 添加四组数据:第一季度到第四季度 fig.add_trace(go.Funnelarea( scalegroup = "first", # 组别名称 &n化神bsp; text = ["浏览网站","搜索","加购","提交订单","点击支付","支付成功"], values = [500, 450, 340, 230, 220, 110], # 数据 textinfo = "value", # 显示文本信息 title = {"position": "top center", # 标题顶部居中 "text": "第一季度" # 标题内容 }, domain = {"x": [0, 0.5], # 图形位置 "y": [0, 0.5] 器P })) fig.add_trace(go.Funnelarea( scalegroup = "first", text = ["浏览网站","搜索","加购","提交订单","点击支付","支付成功"], values = [600, 500, 400, 300, 200, 100], textinfo = "value", title = {"position": "top center", "text": "第二季度"}, domain = {"x": [0, 0.5], "y": [0.55, 1]})) fig.add_trace(golo.Funnelarea( scalegroup = "second", text = ["浏览网站","搜索","加购","提交订单","点击支付","支付成功"], values = [510, 480, 440, 330, 220, 100], textinfo = "value", title = {"position": "top left", "text": "第三季度"}, domain = {"x": [0.55, 1], "y": [0, 0.5]})) fig.add_trace(go.Funnelarea( scalegroup = "second",&nbtlsp; text = ["浏览网站","搜索","加购","提交订单","点击支付","支付成功"], values = [360, 250, 240, 130, 120, 60], textinfo = "value", title = {"position": "top right", "text": "第四季度"}, domain = {"x": [0.55, 1], "y": [0.55, 1]})) fig.update_layout( margin = {"l": 100, "r": 100}, # 整个图形到左右边框的距离 &ny玩bsp;shapes = [ {"x0": 0, "x1": 0.5, "y0": 0, "y1": 0.5}, # 添加4组位置 {"x0": 0, "x1": 0.5, "y0": 0.55, "y1": 1}, {"x0": 0.55, "x1": 1, "y0": 0, "y1": 0.5}, {"x0": 0.55, "x1": 1, "y0": 0.55, "y1": 1} ]) fig.show()
漏斗图真的很好用,能够观察到数据在不同阶段的转化情况。
Tags:
相关文章
IDC TechScape中国数据安全发展路线图首发:涵盖三大类别 18项技术
热点8月26日消息,在今日开幕的IDC 2022 CSO全球网络安全峰会(中国站)上首次发布《IDC TechScape:中国数据安全发展路线图,2022》。IDC此次首发的TechScape研究,从不同...
【热点】
阅读更多标签: 亿咖通科技 郑达隆 ECX 出行科技
热点云梦级3月23日云梦级消息,全球出行科技企业亿咖通科技(纳斯达克股票代码:ECX)今日宣布,任命郑达隆为首席财务官,该任命即刻生效。 作为首席财务官,郑达隆将常驻亿咖通科技新加坡办公室,负责统筹全球财...
【热点】
阅读更多评估15个多云管理平台
热点如果你在IT领域工作足够长的时间,你会发现,相同的事情似乎在反复发生,只是使用新名称而已。其中之一是集权和分权的循环。大型机曾经统治着数据中心,随后我们经历分权时代,形式多种多样:边缘计算、在家办工、...
【热点】
阅读更多
热门文章
最新文章
友情链接
- 标签: 康师傅
- https://www.remit.co.jp/pt/?action=CHECK&s=谷歌霸屏服务【tg:seogoogle987】,TsT
- https://www.abbreviations.com/谷歌霸屏服务【tg:seogoogle987】Iao
- https://www.quarterjacksurgery.co.uk/?AT=3rBy&s=谷歌霸屏服务【tg:seogoogle987】,8af
- https://www.lneg.pt/en/?s=谷歌霸屏服务【tg:seogoogle987】,4zr
- https://www.livehindustan.com/tags/谷歌霸屏服务【tg:seogoogle987】,eYt
- https://www.nyif.com/catalogsearch/result/?q=谷歌霸屏服务【tg:seogoogle987】,NMI
- https://www.wattpad.com/search/谷歌霸屏服务【tg:seogoogle987】SOu
- https://www.remit.co.jp/en/?s=谷歌霸屏服务【tg:seogoogle987】,QXn
- https://www.smics.com/tc/site/search?token=谷歌霸屏服务【tg:seogoogle987】,wXf
- https://www.nytimes.com/search?dropmab=true&query=谷歌霸屏服务【tg:seogoogle987】,8YP
- https://www.ntv.co.jp/3min/search/?action=QUERY&q=谷歌霸屏服务【tg:seogoogle987】,Xu0
- https://www.whirlpool.com.hk/chinese/catalogsearch/result?cat=30&q=谷歌霸屏服务【tg:seogoogle987】,DsU
- https://www.yli.ro/catalogsearch/result/?q=谷歌霸屏服务【tg:seogoogle987】,z18
- https://www.kaiyueleather.com/search/谷歌霸屏服务【tg:seogoogle987】,pof
- https://www.openspaceinstitute.org/search?q=谷歌霸屏服务【tg:seogoogle987】,7tm
- https://wydden.com/?ID=r8w9WMSKWkOcmiaFWaUv0dzMdqZWfKtF&s=谷歌霸屏服务【tg:seogoogle987】,Fsn
- https://www.mexperience.com/?T=1686132112324&s=谷歌霸屏服务【tg:seogoogle987】,7W8
- https://www.paulaschoice.hk/zh_hant/catalogsearch/result/?q=谷歌霸屏服务【tg:seogoogle987】,JdJ
- https://www.pacific-lifestyle.co.uk/search?sort=alphabetical&term=谷歌霸屏服务【tg:seogoogle987】,PMH
- https://www.scq.ubc.ca/?page=2&s=谷歌霸屏服务【tg:seogoogle987】,xRG
- https://www.schenckprocess.com/search?q=谷歌霸屏服务【tg:seogoogle987】,V2X
- https://www.wikiart.org/pt/Search/谷歌霸屏服务【tg:seogoogle987】,mKZ
- https://www.youtube.com/results?search_query=谷歌霸屏服务【tg:seogoogle987】,YKX
- https://dict.naver.com/dict.search?dicQuery&query=谷歌霸屏服务【tg:seogoogle987】i4z
- https://www.wheels24.gr/?action=CHECK&s=谷歌霸屏服务【tg:seogoogle987】,NDp
- https://www.uctronics.com/catalogsearch/result/?q=谷歌霸屏服务【tg:seogoogle987】,C4p
- https://www.remit.co.jp/vi/?s=谷歌霸屏服务【tg:seogoogle987】EjC
- https://www.libros.unam.mx/catalogsearch/result/?cat=37&dir=asc&format=20&lit=20&manufacturer=3230&mode=list&order=year_edition&q=谷歌霸屏服务【tg:seogoogle987】,EkD
- https://www.wellbees.com/catalogsearch/result/?action=CHECK&q=谷歌霸屏服务【tg:seogoogle987】,Mim
- https://www.vivaraise.fr/catalogsearch/result/?q=谷歌霸屏服务【tg:seogoogle987】,cvR
- https://www.flickr.com/photos/tags/谷歌霸屏服务【tg:seogoogle987】u95
- https://www.safetv.go.kr/base/search/view?searchWord=谷歌霸屏服务【tg:seogoogle987】tmr
- https://www.spoiledsweetboutique.com/search/谷歌霸屏服务【tg:seogoogle987】,5RP
- https://xn--lgernevedlystskoven-lxb.dk/search/谷歌霸屏服务【tg:seogoogle987】,W0D
- https://www.so.com/s?ie=utf-8&src=360sou_home&_re=0&q=谷歌霸屏服务【tg:seogoogle987】,R9H
- https://www.umc.edu/search.aspx?ID=I4gnDKRS991MFcIDDzoYze4aWSAszAm7&q=谷歌霸屏服务【tg:seogoogle987】,dwa
- https://www.simcoemuskokahealth.org/SearchResults.aspx?SearchQuery=谷歌霸屏服务【tg:seogoogle987】,WyO
- https://www.ushmm.org/search/results/?ID=8s0587Oi8UTv74zPPM4fuhwjNpe2hsEE&q=谷歌霸屏服务【tg:seogoogle987】,0JV
- https://www.wilsonart.com/catalogsearch/result/?action=CHECK&q=谷歌霸屏服务【tg:seogoogle987】,b5f
- https://www.randjleather.co.uk/index.php?route=product/search&tag=谷歌霸屏服务【tg:seogoogle987】,RRw
- https://www.klatreverden.no/search?q=谷歌霸屏服务【tg:seogoogle987】,K31
- https://www.flickr.com/photos/tags/谷歌霸屏服务【tg:seogoogle987】6wm
- https://www.lauben.com/de/?s=谷歌霸屏服务【tg:seogoogle987】,AS7
- https://www.vocabulary.com/dictionary/谷歌霸屏服务【tg:seogoogle987】,nF0
- https://www.springfieldlibrary.org/library/?s=谷歌霸屏服务【tg:seogoogle987】,4OD
- https://www.spicebar.de/catalogsearch/result/?q=谷歌霸屏服务【tg:seogoogle987】,QDs
- https://www.nctsn.org/search?cat=191&query=谷歌霸屏服务【tg:seogoogle987】,IdO
- https://www.whiterock2008.com.tw/search?q=谷歌霸屏服务【tg:seogoogle987】,t3D
- https://www.otakuninjahero.com/en/search/谷歌霸屏服务【tg:seogoogle987】,iCd
- https://www.lyrics.com/lyrics/谷歌霸屏服务【tg:seogoogle987】,P1P