Diagram Sankey: Aliran Arah dan Transisi Volume

Ketika melacak transfer berkelanjutan, distribusi sumber daya, atau perjalanan pengguna multi-tahap, Diagram Sankey adalah alat visualisasi utama. Dengan menggambar pita aliran proporsional antara node tahap berurutan, diagram Sankey menggambarkan bagaimana jumlah total terbagi, digabungkan, dan berpindah melalui sistem yang kompleks—seperti funnel konversi pengguna situs web, jaringan distribusi energi, atau alokasi anggaran organisasi.

Mekanisme Diagram Sankey

Di Apache ECharts, diagram Sankey menggunakan type: 'sankey'. Mirip dengan diagram grafik, plot Sankey didefinisikan oleh daftar yang berbeda node (atau data) dan tautan (atau sisi). Setiap tautan berisi sumber nama node, tujuan nama node, dan nilai numerik nilai yang menentukan lebar visual dari garis aliran yang terhubung.

1. Pengaturan Dasar

Untuk membuat diagram Sankey dasar, nyatakan item node Anda di dalam data dan tentukan volume aliran berarah di dalam tautan:

option = {
    tooltip: {
        trigger: 'item',
        triggerOn: 'mousemove'
    },
    series: [
        {
            type: 'sankey',
            data: [
                { name: 'Pendapatan Total' },
                { name: 'Penjualan Produk' },
                { name: 'Layanan' },
                { name: 'Pemasaran' },
                { name: 'R&D' },
                { name: 'Laba' }
            ],
            links: [
                { source: 'Pendapatan Total', target: 'Penjualan Produk', value: 70 },
                { source: 'Pendapatan Total', target: 'Layanan', value: 30 },
                { source: 'Penjualan Produk', target: 'Pemasaran', value: 30 },
                { source: 'Penjualan Produk', target: 'R&D', value: 25 },
                { source: 'Penjualan Produk', target: 'Laba', value: 15 },
                { source: 'Layanan', target: 'Laba', value: 30 }
            ],
            emphasis: {
                focus: 'adjacency'
            },
            lineStyle: {
                color: 'gradient',
                curveness: 0.5
            }
        }
    ]
};

 

Teknik Struktural Lanjutan

Grafik Sankey dapat disesuaikan dengan orientasi aliran vertikal, warna simpul multi-level, dan penyorotan tautan dinamis untuk melacak jalur individu melalui jaringan yang rumit.

1. Orientasi Aliran Vertikal

Atur orient: 'vertical'untuk mengubah aliran tahap horizontal menjadi tampilan air terjun vertikal dari atas ke bawah:

option = {
    tooltip: {
        trigger: 'item',
        triggerOn: 'mousemove'
    },
    series: [
        {
            type: 'sankey',
            orient: 'vertical',
            nodeWidth: 20,
            nodeGap: 16,
            data: [
                { name: 'Kunjungan Website' },
                { name: 'Halaman Produk' },
                { name: 'Pemantul Langsung' },
                { name: 'Keranjang' },
                { name: 'Checkout' }
            ],
            links: [
                { source: 'Kunjungan Website', target: 'Halaman Produk', value: 1000 },
                { source: 'Kunjungan Website', target: 'Pemantul Langsung', value: 400 },
                { source: 'Halaman Produk', target: 'Keranjang', value: 600 },
                { source: 'Keranjang', target: 'Checkout', value: 450 }
            ],
            lineStyle: {
                color: 'source',
                curveness: 0.5
            }
        }
    ]
};

 

Penyesuaian Layout dan Gaya Tautan

Menyesuaikan jarak simpul, kelengkungan garis, dan perilaku penyorotan saat hover menjaga aliran multi-tahap yang kompleks tetap bersih dan mudah dibaca.

1. Kontrol Jarak Simpul dan Aliran Gradien Sumber-Tujuan

Menyesuaikan nodeGap dan mengatur lineStyle.color: 'gradient'menciptakan transisi warna yang halus antar tahap:

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

 

Praktik Terbaik Strategis

  • Jaga Konservasi Aliran:Pastikan jumlah nilai yang mengalir masuk ke sebuah simpul sama dengan atau secara logis menjelaskan nilai yang keluar untuk mencegah adanya celah visual yang menyesatkan.
  • Aktifkan emphasis.focus: 'kedekatan': Saat menangani alur multi-tahap, fokus pada tautan yang berdekatan saat dihover memungkinkan pengguna memisahkan jalur tertentu tanpa gangguan visual.
  • Gunakan Tautan Gradien: Pengaturan lineStyle.color: 'gradien' dengan mulus menggabungkan warna simpul sumber ke warna simpul tujuan, membuat transisi multi-tahap terasa intuitif secara visual.
Scroll to Top