サンキー図:方向性のある流れと体積の変化

連続的な転送、リソースの分配、または複数段階のユーザー体験を追跡する際、サンキー図は、最も優れた可視化ツールです。連続する段階のノードの間に比例した流れの帯を描くことで、サンキー図は総量が複雑なシステム内でどのように分割され、結合され、移行するかを示します—ウェブサイトのユーザー変換ファネル、エネルギー分配グリッド、または組織の予算配分などです。

サンキー図のメカニズム

Apache EChartsでは、サンキー図はtype: 'sankey'を使用します。グラフ図と同様に、サンキー図は一意のノード(またはdata)と、方向性のあるlinks(またはエッジ)で構成されます。各リンクにはsourceノード名、targetノード名、および数値型のvalueが、接続される流れの線の視覚的な幅を決定します。

1. 必須の設定

基本的なサンキー図を構築するには、ノード項目をdata内に宣言し、links:

option = {
    tooltip: {
        trigger: 'item',
        triggerOn: 'mousemove'
    },
    series: [
        {
            type: 'sankey',
            data: [
                { name: '売上合計' },
                { name: '製品販売' },
                { name: 'サービス' },
                { name: 'マーケティング' },
                { name: '研究開発' },
                { name: '利益' }
            ],
            links: [
                { source: '売上合計', target: '製品販売', value: 70 },
                { source: '売上合計', target: 'サービス', value: 30 },
                { source: '製品販売', target: 'マーケティング', value: 30 },
                { source: '製品販売', target: '研究開発', value: 25 },
                { source: '製品販売', target: '利益', value: 15 },
                { source: 'サービス', target: '利益', value: 30 }
            ],
            emphasis: {
                focus: 'adjacency'
            },
            lineStyle: {
                color: 'gradient',
                curveness: 0.5
            }
        }
    ]
};

 

高度な構造技術

サニーキーチャートは、垂直方向のフロー配置、複数レベルのノードカラー、および動的なリンク強調機能を活用して、複雑なネットワークを通過する個々の経路を追跡できます。

1. 垂直フロー方向

設定:orient: 'vertical'水平方向のステージフローを上から下への垂直ウォーターフォールビューに変換します:

option = {
    tooltip: {
        trigger: 'item',
        triggerOn: 'mousemove'
    },
    series: [
        {
            type: 'sankey',
            orient: 'vertical',
            nodeWidth: 20,
            nodeGap: 16,
            data: [
                { name: 'ウェブサイト訪問数' },
                { name: '製品ページ' },
                { name: '直接離脱' },
                { name: 'カート' },
                { name: 'チェックアウト' }
            ],
            links: [
                { source: 'ウェブサイト訪問数', target: '製品ページ', value: 1000 },
                { source: 'ウェブサイト訪問数', target: '直接離脱', value: 400 },
                { source: '製品ページ', target: 'カート', value: 600 },
                { source: 'カート', target: 'チェックアウト', value: 450 }
            ],
            lineStyle: {
                color: 'source',
                curveness: 0.5
            }
        }
    ]
};

 

レイアウトとリンクスタイルの微調整

ノード間隔、線のカーブ、ホバー時のハイライト動作を調整することで、複雑なマルチステージフローを明確で読みやすく保つことができます。

1. ノードギャップ制御とソース・ターゲットのグラデーションフロー

カスタマイズ:nodeGapおよび設定:lineStyle.color: 'gradient'各ステージ間でスムーズな色のグラデーションを実現します:

option = {
    series: [
        {
            type: 'sankey',
            left: '5%',
            right: '15%',
            nodeWidth: 24,
            nodeGap: 18,
            draggable: true,
            label: {
                position: 'right',
                color: '#333',
                fontSize: 12
            },
            data: [
                { name: 'ソースA', itemStyle: { color: '#5470c6' } },
                { name: 'ソースB', itemStyle: { color: '#91cc75' } },
                { name: 'ステージ1', itemStyle: { color: '#fac858' } },
                { name: 'ステージ2', itemStyle: { color: '#ee6666' } },
                { name: '最終出力', itemStyle: { color: '#73c0de' } }
            ],
            links: [
                { source: 'ソースA', target: 'ステージ1', value: 50 },
                { source: 'ソースB', target: 'ステージ1', value: 30 },
                { source: 'ステージ1', target: 'ステージ2', value: 60 },
                { source: 'ステージ1', target: '最終出力', value: 20 },
                { source: 'ステージ2', target: '最終出力', value: 60 }
            ],
            lineStyle: {
                color: 'gradient',
                curveness: 0.6,
                opacity: 0.4
            }
        }
    ]
};

 

戦略的なベストプラクティス

  • フローの保存を維持する:ノードに入力される値の合計が、出力される値と等しく、または論理的に説明できるようにし、誤解を招く視覚的なギャップを防ぎます。
  • 有効化:強調.フォーカス: '隣接性':複数段階のフローを扱う場合、ホバー時に隣接するリンクに焦点を当てることで、ユーザーは視覚的なノイズを伴わずに特定の経路を明確にできる。
  • グラデーションリンクを使用する: 設定 lineStyle.color: 'グラデーション'滑らかにソースノードの色をターゲットノードの色に溶け込ませ、複数段階の遷移を視覚的に直感的にする。
上部へスクロール