import plotly.express as px
= dict(
data =[39, 27.4, 20.6, 11, 2],
number=["Website visit", "Downloads", "Potential customers", "Requested price", "invoice sent"])
stage= px.funnel(data, x='number', y='stage')
fig fig.show()
Plotly Funnel 차트 만들기
Funnel Chart(깔대기 차트)는 데이터의 흐름이나 과정을 시각화하기 위한 그래프 유형 중 하나입니다. 여러 세그먼트 또는 카테고리 간의 비교를 강조하는 데 사용됩니다. 각 단계 또는 세그먼트의 크기를 표시하여 이들 간의 상대적인 크기를 시각화로 표현할 수 있습니다.
특히 비즈니스 프로세스, 온라인 판매 흐름, 고객 경로 등과 같은 순차적인 단계로 이루어진 프로세스를 분석하는 데 유용합니다. 각 단계에서 어떤 퍼센트의 항목이 소멸하거나 성공적으로 이동하는지를 보여줍니다.
웹사이트에 방문한 고객의 흐름을 보여주는 Funnel Chart로 동작을 확인합니다.
Funnel 차트는 전달하는 데이터 프레임에 각 흐름의 단계에 대한 값 정보와 단계의 이름을 저장합니다. 총 5단계가 전달되었고 단계의 너비는 값에 따라 결정됩니다.
여러 개의 데이터를 Funnel Chart로 표시하기
비교를 웨해서 여러 개의 데이터를 Funnel Chart로 표시하는 방법을 정리합니다. 비교를 위해 생성한 각 데이터는 단계가 서로 다르게 설정되었습니다. 차트에 어떻게 표시되는 지 확인해보세요.
from plotly import graph_objects as go
= go.Figure()
fig
fig.add_trace(go.Funnel(= 'Montreal',
name = ["Website visit", "Downloads", "Potential customers", "Requested price"],
y = [100, 90, 81, 72.9],
x = "value+percent initial"))
textinfo
fig.add_trace(go.Funnel(= 'Toronto',
name = "h",
orientation = ["Website visit", "Downloads", "Potential customers", "Requested price", "invoice sent"],
y = [100, 90, 81, 72.9, 65.61],
x = "inside",
textposition = "value+percent previous"))
textinfo
fig.add_trace(go.Funnel(= 'Vancouver',
name = "h",
orientation = ["Website visit", "Downloads", "Potential customers", "Requested price", "invoice sent", "Finalized"],
y = [100, 90, 81, 72.9, 65.61, 59],
x = "inside",
textposition = "value+percent total"))
textinfo
fig.show()
Funnel Chart내부에 표시되는 비율은 textinfo
로 전달되는 정보로 설정됩니다. value+percent initial
, value+percent previous
, value+percent total
의 차이를 알아봅니다. 모든 데이터는 초기값 100에서 90%만 다음 단계로 넘어가도록 구성되어 있습니다.
value+percent initial
: 현재 단계의 값을 초기값에 대한 비율로 표시합니다.value+percent previous
: 현재 단계의 값을 이전 단계에 대한 비율로 표시합니다. 값이 90%로 유지되는 것을 확인할 수 있습니다.value+percent total
: 현재 단계의 값을 전체 단계의 총합에 대한 비율로 표시합니다. 첫번째 단계는 전체 단계의 총합으로 나눈 비율이며 와 같이 아래와 같이 계산됩니다. \[21\% = \frac{100 (첫번째 단계 값)}{468.51 (전체 단계 총합)}\]