このプロットは、データがほぼ次のような双方向の分割表を表示します。
Branded Unbranded Social Referring Direct RSS
First-time... 177276 472737 88638 265915 472737 59092
Return Visits... 236002 629339 118001 354003 629339 78667
4+ Visits in ... 166514 444037 83257 249771 444037 55505
10+ Visit in ... 28782 76751 14391 43172 76751 9594
At Least One Visit... 6707 17886 3354 10061 17886 2236
Last Touch... 660 1759 330 989 1759 220
このプロットを構築する方法は無数にあります。 たとえば、色の各長方形パッチの位置を計算し、各パッチを個別にメッキすることができます。ただし、一般的には、プロットがデータをどのように表すかについての簡潔な説明を見つけるのに役立ちます。
出発点として、これを積み上げ棒グラフのバリエーションとして見ることができます。
このプロットには説明はほとんど必要ありません。四角形の各行は、分割表の各行に対応していることをよく知っています。長方形の長さはそれらの数に正比例します。それらが重複しないこと。色が表の列に対応していること。
このテーブルを「データフレーム」または「データテーブル」に変換すると、行名、列名、およびカウントを示すフィールドを持つカウントごとに1行を持ち、それをプロットすると、通常、適切な関数が呼び出され、検索場所が規定されます。行名、列名、およびカウント。Grammar of Graphics実装(のパッケージ)を使用すると、次のようになります。Xggplot2
R
ggplot(X, aes(Outcome, Count, fill=Referral)) + geom_col()
バーの行の幅や使用する色などのグラフィックの詳細は、通常、明示的に規定する必要があります。それがどのように行われるかは、プロット環境に依存します(したがって、それほど関心がありません:調べるだけです)。
Grammar of Graphicsのこの特定の実装では、バーの配置に柔軟性がほとんどありません。 最小限の労力で目的の外観を作成する1つの方法は、各バーの下部に非表示のカテゴリを挿入して、バーが中央に配置されるようにすることです。 少し考えてみると、各バーを中央に配置するために必要な偽の数は、バーの全長と最も長いバーの全長の平均でなければならないことを示唆しています。この例の場合、これは値を持つ初期列になります
254478.0 0.0 301115.0 897955.0 993610.5 1019817.0
以下は、薄い灰色で偽のデータを示す結果の積み上げ棒グラフです。
目的の図は、偽の列のグラフィックスを非表示にすることによって作成されます。
グラフのGrammar of Graphicsの説明を変更する必要はありません。同じ説明に従ってレンダリングされる別の分割表を提供しただけです(そして、偽の列のデフォルトの色割り当てを上書きしました)。
コメント
これらのグラフィックスは正直です。各カラーパッチの水平方向の範囲は、歪みなく、基になるデータに直接比例しています。それらを元の(問題の)と比較すると、その歪みがどれほど極端であるかがわかります(TufteのLie Factor)。
「目標到達プロセス」の下部に詳細を表示する必要がある場合は、長さではなく面積でカウントを表すことを検討してください。棒の長さを全長の平方根に比例させ、それらの幅(垂直方向)も平方根に比例させることができます。これで、「目標到達プロセス」の下部は、最長の100分の1ではなく、約20分の1になり、詳細を示すことができます。残念ながら、このggplot2
実装では、変数をバーの幅にマップできません。そのため、より複雑な回避策が必要です(実際には、各長方形を個別に記述します)。おそらく、より柔軟なPython実装があります。
参考文献
Edward Tufte、定量的情報の視覚的表示。チェシャープレス1984。
Leland Wilkinson、グラフィックの文法。 スプリンガー2005。