pyecharts を使用してファネル チャートを描画する
導入
ファネル チャートは、データ フローやコンバージョン率を視覚化するために使用されるチャート タイプです。通常、これは一連のステージで構成され、各ステージには名前と、そのステージ中のデータ フローの変換量または進行状況を表す値が付いています。じょうごグラフの名前は、実際のじょうごの形に似ていることからその名前が付けられ、データが段階的に削減またはフィルタリングされることと一致して、上部が幅が広く、下部が狭くなります。この投稿では、Python の Pyecharts ライブラリを使用してデータ フローやコンバージョン率のさまざまな段階を示すファネル チャートを作成する方法について説明します。
環境整備
pyecharts
ファネル チャートを描画するには、まずライブラリをインストールする必要があります。インストール コマンドは次のとおりです。
pip install pyecharts
ファネル チャート クラスのインポート
Pyecharts の関連モジュールおよび使用する必要があるその他のライブラリをインポートします。
from pyecharts import options as opts
from pyecharts.charts import Funnel
データの準備
ファネル チャートを描画する前に、データを準備する必要があります。ファネル チャートは通常、一連のステージで構成され、各ステージには名前と、そのステージでのコンバージョン数を表す値が付いています。次のように:
data = [("访问网站", 100),
("浏览商品", 80),
("加入购物车", 60),
("完成购买", 30)]
ファネル チャートを作成する
Pyecharts の Funnel クラスを使用してファネル チャートを作成します。タイトル、幅、高さなど、ファネル チャートの基本パラメータを設定します。コードは以下のように表示されます。
funnel = (
Funnel()
.add(
"转化率",
data,
gap=20,
tooltip_opts=opts.TooltipOpts(trigger="item", formatter="{a} <br/>{b}: {c}%"),
)
.set_global_opts(
title_opts=opts.TitleOpts(title="漏斗图示例"),
tooltip_opts=opts.TooltipOpts(trigger="item", formatter="{a} <br/>{b}: {c}%"),
)
)
上記のコードでは、gap
パラメーターを使用して各ファネル ステージ間の間隔を設定し、ステージ名とコンバージョン率を表示するツールチップを追加しました。
ファネル チャートを描く
最後に、render メソッドを使用してファネル チャートを HTML ファイルとして保存するか、Jupyter Notebook に表示します。次のように:
funnel.render("funnel_chart.html")
使用例
ファネル チャートを描画する手順の完全なコードは次のとおりです。
from pyecharts import options as opts
from pyecharts.charts import Funnel
data = [("访问网站", 100),
("浏览商品", 80),
("加入购物车", 60),
("完成购买", 30)]
funnel = (
Funnel()
.add(
"转化率",
data,
gap=20,
tooltip_opts=opts.TooltipOpts(trigger="item", formatter="{a} <br/>{b}: {c}%"),
)
.set_global_opts(
title_opts=opts.TitleOpts(title="漏斗图示例"),
tooltip_opts=opts.TooltipOpts(trigger="item", formatter="{a} <br/>{b}: {c}%"),
)
)
funnel.render("funnel_chart.html")
上記のコードを実行すると、ファネル チャートを含む「funnel_chart.html」という名前の HTML ファイルが生成されます。生成された画像は次のとおりです。
その他の例
- ラベルの位置を設定する
label_opts
上記のラベルの例はファネルの外側にあり、パラメータのposition
プロパティを設定することでラベルの位置を制御できることがわかります。位置パラメータは次のいずれかの値に設定できます。
- "inside": ラベルはファネル チャートの内側 (デフォルトの位置) に表示されます。
- "outside": ラベルはファネル チャートの外側に表示されます。
たとえば、position="inside"
ファンネル チャート内にラベルを表示できます。コードは以下のように表示されます。
from pyecharts import options as opts
from pyecharts.charts import Funnel
data = [("访问网站", 100),
("浏览商品", 80),
("加入购物车", 60),
("完成购买", 30)]
funnel = (
Funnel()
.add(
"转化率",
data,
gap=20,
tooltip_opts=opts.TooltipOpts(trigger="item", formatter="{a} <br/>{b}: {c}%"),
label_opts= opts.LabelOpts(position="inside")
)
.set_global_opts(
title_opts=opts.TitleOpts(title="漏斗图示例2"),
tooltip_opts=opts.TooltipOpts(trigger="item", formatter="{a} <br/>{b}: {c}%"),
)
)
funnel.render("funnel_chart2.html")
コードを実行し、生成された HTML ファイルをブラウザで開きます。画像は次のとおりです。
- パーセントファネルチャート
ファネル チャートの各ステージのパーセンテージを表示するには、label_opts
パラメーターとプロパティを使用してformatter
設定できます。変更されたコードは次のとおりです。
スクリプトを実行すると、次のように生成された HTML ファイルがブラウザで開かれます。
要約する
この記事では、主に pyechart を使用してファネル チャートを描画する方法を紹介します。ファネル チャートは、データ プロセスを視覚化および分析するための強力なツールであり、特にコンバージョン率とプロセスを理解する必要があるビジネス シナリオに適しています。この記事が、ファネル チャートをデータ分析に使用する一助になれば幸いです。