Wykres obszarów skumulowanych: trendy skumulowane i analiza wkładów

Gdy musisz śledzić zarówno całkowity objętość, jak i wkłady poszczególnych podkomponentów w czasie, idealnym narzędziem wizualizacji jestWykres obszarów skumulowanych jest idealnym narzędziem wizualizacji. Składanie obszarów w pionie tworzy ciągłą, złożoną wizualizację, w której najwyższa linia reprezentuje całkowitą sumę, a szerokość poszczególnych pasów pokazuje zmieniające się wkłady podkategorii, takie jak całkowity ruch internetowy podzielony według silnika wyszukiwania, ruchu organicznego i kanałów bezpośrednich odwiedzin w ciągu kilku miesięcy.

Zasada działania wykresów obszarów skumulowanych

Wykresy obszarów skumulowanych łączą konfiguracje serii linii z dopasowanymistackatrybutami. Gdy silnik renderujący wykryje identycznestackidentyfikatory w wielu seriach ztype: 'line'iareaStyleaktywnymi, stosuje każdy punkt danych kolejno powyżej poprzedniej ścieżki linii serii wzdłuż pionowej osi Y.

1. Podstawowa konfiguracja

Aby stworzyć podstawowy wykres obszarów skumulowanych, zdefiniuj ciągłą oś X, ustawtype: 'line'na każdej serii, włączareaStyle, a przypisz identycznystackidentyfikator we wszystkich seriach:

option = {
    tooltip: {
        trigger: 'axis',
        axisPointer: { type: 'cross' }
    },
    legend: {
        data: ['Email', 'Unia reklam', 'Reklamy wideo', 'Bezpośrednio']
    },
    xAxis: {
        type: 'category',
        boundaryGap: false,
        data: ['Pon', 'Wto', 'Śro', 'Czw', 'Pią', 'Sob', 'Nied']
    },
    yAxis: {
        type: 'value'
    },
    series: [
        {
            name: 'Email',
            type: 'line',
            stack: 'Razem',
            areaStyle: {},
            data: [120, 132, 101, 134, 90, 230, 210]
        },
        {
            name: 'Unia reklam',
            type: 'line',
            stack: 'Razem',
            areaStyle: {},
            data: [220, 182, 191, 234, 290, 330, 310]
        },
        {
            name: 'Reklamy wideo',
            type: 'line',
            stack: 'Razem',
            areaStyle: {},
            data: [150, 232, 201, 154, 190, 330, 410]
        },
        {
            name: 'Bezpośrednio',
            type: 'line',
            stack: 'Razem',
            areaStyle: {},
            data: [320, 332, 301, 334, 390, 330, 320]
        }
    ]
};

 

Zaawansowane techniki strukturalne

Wykresy obszarów skumulowanych mogą być skonfigurowane tak, aby skupiały się albo na ogólnym wzroście skumulowanym, albo na zmianach proporcjonalnych w czasie.

1. Wykres procentowy obszarów znormalizowanych do 100%

Gdy oceniasz zmiany proporcjonalne zamiast całkowitej objętości skumulowanej w czasie, znormalizuj zestaw danych do 100% na każdy punkt czasu poziomy:

option = {
    tooltip: {
        trigger: 'axis',
        formatter: '{b}
{a0}: {c0}%
{a1}: {c1}%
{a2}: {c2}%'
    },
    legend: {
        data: ['Stacja robocza', 'Mobile', 'Tablet']
    },
    xAxis: {
        type: 'category',
        boundaryGap: false,
        data: ['2023', '2024', '2025', '2026']
    },
    yAxis: {
        type: 'value',
        min: 0,
        max: 100,
        axisLabel: { formatter: '{value}%' }
    },
    series: [
        {
            name: 'Stacja robocza',
            type: 'line',
            stack: 'procent',
            smooth: true,
            areaStyle: {},
            data: [65, 55, 48, 40]
        },
        {
            name: 'Mobile',
            type: 'line',
            stack: 'procent',
            smooth: true,
            areaStyle: {},
            data: [25, 35, 42, 50]
        },
        {
            name: 'Tablet',
            type: 'line',
            stack: 'procent',
            smooth: true,
            areaStyle: {},
            data: [10, 10, 10, 10]
        }
    ]
};

 

Dostosowanie układu i stylizacji

Ponieważ nałożone obszary całkowicie zasłaniają tło, dostosowanie przezroczystości wypełnienia i grubości linii pomaga zachować czytelność poszczególnych warstw.

1. Dostosowana przezroczystość warstw i separatorów krawędzi

Ustawienie stałych linii na nieco przezroczystych wypełnieniach obszarów tworzy wyraźne wizualne granice między sąsiednimi nałożonymi pasami:

option = {
    tooltip: {
        trigger: 'axis'
    },
    xAxis: {
        type: 'category',
        boundaryGap: false,
        data: ['Q1', 'Q2', 'Q3', 'Q4']
    },
    yAxis: {
        type: 'value'
    },
    series: [
        {
            name: 'Produkt A',
            type: 'line',
            stack: 'objętość',
            smooth: true,
            lineStyle: { width: 2, color: '#5470c6' },
            areaStyle: { color: '#5470c6', opacity: 0.7 },
            data: [120, 150, 180, 210]
        },
        {
            name: 'Produkt B',
            type: 'line',
            stack: 'objętość',
            smooth: true,
            lineStyle: { width: 2, color: '#91cc75' },
            areaStyle: { color: '#91cc75', opacity: 0.7 },
            data: [220, 280, 250, 310]
        },
        {
            name: 'Produkt C',
            type: 'line',
            stack: 'objętość',
            smooth: true,
            lineStyle: { width: 2, color: '#fac858' },
            areaStyle: { color: '#fac858', opacity: 0.7 },
            data: [150, 190, 220, 260]
        }
    ]
};

 

Strategiczne najlepsze praktyki

  • Zakotwicz stabilne serie na dole:Umieść największą lub najmniej wrażliwą serię na dole stosu, aby stworzyć przewidywalne podstawy dla pasów powyżej.
  • Ogranicz liczbę pasów:Nałożenie więcej niż 4–5 serii sprawia, że trudno jest dokładnie ocenić pasy środkowe. Rozważ połączenie mniejszych kategorii w kategorię „Inne”.
  • Użyj axisPointer: { type: 'cross' }:Połączenie wskaźnika przesunięcia z ciągłym podpowiedziem ułatwia dokładne wyznaczenie konkretnych wartości dat w gęstych pionowych stosach.
Przewijanie do góry