Wizualizacja: wykres kołowy

Omówienie

Wykres kołowy renderowany w przeglądarce za pomocą SVG lub VML. Wyświetla etykietki po najechaniu kursorem na wycinki.

Przykład

<html>
  <head>
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript">
      google.charts.load('current', {'packages':['corechart']});
      google.charts.setOnLoadCallback(drawChart);

      function drawChart() {

        var data = google.visualization.arrayToDataTable([
          ['Task', 'Hours per Day'],
          ['Work',     11],
          ['Eat',      2],
          ['Commute',  2],
          ['Watch TV', 2],
          ['Sleep',    7]
        ]);

        var options = {
          title: 'My Daily Activities'
        };

        var chart = new google.visualization.PieChart(document.getElementById('piechart'));

        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <div id="piechart" style="width: 900px; height: 500px;"></div>
  </body>
</html>

Tworzenie wykresu kołowego 3D

Jeśli ustawisz opcję is3D na true, wykres kołowy będzie wyglądał tak, jakby składał się z trzech wymiarów:

Domyślna wartość is3D to false, więc tu ustawiliśmy ją na true:

<html>
  <head>
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript">
      google.charts.load("current", {packages:["corechart"]});
      google.charts.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = google.visualization.arrayToDataTable([
          ['Task', 'Hours per Day'],
          ['Work',     11],
          ['Eat',      2],
          ['Commute',  2],
          ['Watch TV', 2],
          ['Sleep',    7]
        ]);

        var options = {
          title: 'My Daily Activities',
          is3D: true,
        };

        var chart = new google.visualization.PieChart(document.getElementById('piechart_3d'));
        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <div id="piechart_3d" style="width: 900px; height: 500px;"></div>
  </body>
</html>

Tworzenie wykresu pierścieniowego

Wykres pierścieniowy to wykres kołowy z otworem w środku. Wykresy pierścieniowe możesz tworzyć za pomocą opcji pieHole:

Opcja pieHole powinna być liczbą z zakresu od 0 do 1, co odpowiada stosunkowi promieni między otworem a wykresem. Na większości wykresów najlepiej sprawdzą się liczby z zakresu od 0,4 do 0,6. Wartości równe lub większe niż 1 będą ignorowane, a wartość 0 całkowicie zamknie obszar.

<html>
  <head>
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript">
      google.charts.load("current", {packages:["corechart"]});
      google.charts.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = google.visualization.arrayToDataTable([
          ['Task', 'Hours per Day'],
          ['Work',     11],
          ['Eat',      2],
          ['Commute',  2],
          ['Watch TV', 2],
          ['Sleep',    7]
        ]);

        var options = {
          title: 'My Daily Activities',
          pieHole: 0.4,
        };

        var chart = new google.visualization.PieChart(document.getElementById('donutchart'));
        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <div id="donutchart" style="width: 900px; height: 500px;"></div>
  </body>
</html>

Nie można łączyć opcji pieHole i is3D. Jeśli to zrobisz, pieHole zostanie zignorowany.

Pamiętaj, że Wykresy Google starają się umieścić etykietę jak najbliżej środka wycinka. Jeśli masz wykres pierścieniowy z tylko 1 wycinkiem, środek wycinka może wpaść do otworu w pierścieniu. W takim przypadku zmień kolor etykiety:

Opcje
        var options = {
          pieHole: 0.5,
          pieSliceTextStyle: {
            color: 'black',
          },
          legend: 'none'
        };
Pełny kod HTML
<html>
  <head>
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript">
      google.charts.load('current', {'packages':['corechart']});
      google.charts.setOnLoadCallback(drawChart);

      function drawChart() {

        var data = google.visualization.arrayToDataTable([
          ['Effort', 'Amount given'],
          ['My all',     100],
        ]);

        var options = {
          pieHole: 0.5,
          pieSliceTextStyle: {
            color: 'black',
          },
          legend: 'none'
        };

        var chart = new google.visualization.PieChart(document.getElementById('donut_single'));
        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <div id="donut_single" style="width: 900px; height: 500px;"></div>
  </body>
</html>

Obracanie wykresu kołowego

Domyślnie wykresy kołowe zaczynają się od lewej krawędzi pierwszego wycinka skierowanego pionowo do góry. Możesz to zmienić za pomocą opcji pieStartAngle:

Tutaj obracamy wykres w prawo o 100 stopni przy użyciu opcji pieStartAngle: 100. Wybraliśmy go, ponieważ pod kątem tego konkretnego kąta etykieta „włoska” pasowała do wycinka.

<html>
  <head>
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript">
      google.charts.load("current", {packages:["corechart"]});
      google.charts.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = google.visualization.arrayToDataTable([
          ['Language', 'Speakers (in millions)'],
          ['German',  5.85],
          ['French',  1.66],
          ['Italian', 0.316],
          ['Romansh', 0.0791]
        ]);

      var options = {
        legend: 'none',
        pieSliceText: 'label',
        title: 'Swiss Language Use (100 degree rotation)',
        pieStartAngle: 100,
      };

        var chart = new google.visualization.PieChart(document.getElementById('piechart'));
        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <div id="piechart" style="width: 900px; height: 500px;"></div>
  </body>
</html>

Rozbicie wycinka

Wycinki możesz oddzielić od pozostałej części wykresu za pomocą właściwości offset opcji slices:

Aby rozdzielić wycinek, utwórz obiekt slices i przypisz do niego odpowiedni numer wycinka jako offset z zakresu od 0 do 1. Poniżej przypisujemy coraz większe przesunięcia do wycinków 4 (gudżarati), 12 (marathi), 14 (oriya) i 15 (pendżabski):

<html>
  <head>
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript">
      google.charts.load("current", {packages:["corechart"]});
      google.charts.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = google.visualization.arrayToDataTable([
          ['Language', 'Speakers (in millions)'],
          ['Assamese', 13], ['Bengali', 83], ['Bodo', 1.4],
          ['Dogri', 2.3], ['Gujarati', 46], ['Hindi', 300],
          ['Kannada', 38], ['Kashmiri', 5.5], ['Konkani', 5],
          ['Maithili', 20], ['Malayalam', 33], ['Manipuri', 1.5],
          ['Marathi', 72], ['Nepali', 2.9], ['Oriya', 33],
          ['Punjabi', 29], ['Sanskrit', 0.01], ['Santhali', 6.5],
          ['Sindhi', 2.5], ['Tamil', 61], ['Telugu', 74], ['Urdu', 52]
        ]);

        var options = {
          title: 'Indian Language Use',
          legend: 'none',
          pieSliceText: 'label',
          slices: {  4: {offset: 0.2},
                    12: {offset: 0.3},
                    14: {offset: 0.4},
                    15: {offset: 0.5},
          },
        };

        var chart = new google.visualization.PieChart(document.getElementById('piechart'));
        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <div id="piechart" style="width: 900px; height: 500px;"></div>
  </body>
</html>

Usuwanie wycinków

Aby pominąć wycinek, zmień kolor na 'transparent':

Użyliśmy też funkcji pieStartAngle do obracania wykresu o 135 stopni, pieSliceText do usuwania tekstu z wycinków, a tooltip.trigger do wyłączania etykietek:

<html>
  <head>
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript">
      google.charts.load("current", {packages:["corechart"]});
      google.charts.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = google.visualization.arrayToDataTable([
          ['Pac Man', 'Percentage'],
          ['', 75],
          ['', 25]
        ]);

        var options = {
          legend: 'none',
          pieSliceText: 'none',
          pieStartAngle: 135,
          tooltip: { trigger: 'none' },
          slices: {
            0: { color: 'yellow' },
            1: { color: 'transparent' }
          }
        };

        var chart = new google.visualization.PieChart(document.getElementById('pacman'));
        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <div id="pacman" style="width: 900px; height: 500px;"></div>
  </body>
</html>

Próg widoczności wycinka

Możesz ustawić wartość progową, po której wycinek koła będzie renderowany pojedynczo. Ta wartość odpowiada części wykresu (cały wykres ma wartość 1). Aby ustawić ten próg jako procent całości, podziel wymaganą wartość procentową przez 100 (dla progu 20% wartość będzie wynosić 0, 2).

sliceVisibilityThreshold: 5/8 // This is equivalent to 0.625 or 62.5% of the chart.

Wszystkie wycinki mniejsze niż ten próg zostaną połączone w pojedynczy wycinek „Inne” i będą miały łączną wartość dla wszystkich wycinków poniżej progu.

    google.charts.load('current', {'packages':['corechart']});
    google.charts.setOnLoadCallback(drawChart);

    function drawChart() {

      var data = new google.visualization.DataTable();
      data.addColumn('string', 'Pizza');
      data.addColumn('number', 'Populartiy');
      data.addRows([
        ['Pepperoni', 33],
        ['Hawaiian', 26],
        ['Mushroom', 22],
        ['Sausage', 10], // Below limit.
        ['Anchovies', 9] // Below limit.
      ]);

      var options = {
        title: 'Popularity of Types of Pizza',
        sliceVisibilityThreshold: .2
      };

      var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
      chart.draw(data, options);
    }

Wczytuję

Nazwa pakietu google.charts.load to "corechart".

  google.charts.load("current", {packages: ["corechart"]});

Nazwa klasy wizualizacji to google.visualization.PieChart.

  var visualization = new google.visualization.PieChart(container);

Format danych

Wiersze: każdy wiersz w tabeli odpowiada wycinkom.

Kolumny:

  Kolumna 0 Kolumna 1 ... Kolumna N (opcjonalna)
Przeznaczenie: Etykiety wycinków Wartości wycinków ... Role opcjonalne
Typ danych: string, Liczba ...
Rola: domena dane ...
Opcjonalne role kolumn: Brak Brak ...

Opcje konfiguracji

Nazwa
backgroundColor

Kolor tła głównego obszaru wykresu. Może to być prosty ciąg znaków koloru HTML, np. 'red' lub '#00cc00', albo obiekt o następujących właściwościach.

Typ: ciąg znaków lub obiekt
Domyślnie: „white”
backgroundColor.stroke

Kolor obramowania wykresu jako ciąg znaków HTML koloru.

Typ: ciąg znaków
Domyślnie: „#666”.
backgroundColor.strokeWidth

Szerokość obramowania w pikselach.

Typ: liczba
Wartość domyślna: 0
backgroundColor.fill

Kolor wypełnienia wykresu jako ciąg znaków HTML koloru.

Typ: ciąg znaków
Domyślnie: „white”
chartArea

Obiekt z elementami służącymi do konfigurowania miejsca docelowego i rozmiaru obszaru wykresu (gdzie sam wykres jest rysowany, z wyłączeniem osi i legend). Obsługiwane są dwa formaty: liczba lub liczba, po której następuje znak %. Prosta liczba to wartość w pikselach, po której następuje znak %, a po nim wartość procentowa. Przykład: chartArea:{left:20,top:0,width:'50%',height:'75%'}

Typ: obiekt
Wartość domyślna:null
chartArea.backgroundColor
Kolor tła obszaru wykresu. Używany ciąg może być ciągiem szesnastkowym (np. „#fdc”) lub angielską nazwę koloru. Jeśli używany jest obiekt, można podać te właściwości:
  • stroke: kolor podany w postaci ciągu szesnastkowego lub angielskiej nazwy koloru.
  • strokeWidth: jeśli jest podany, rysuje obramowanie wokół obszaru wykresu o podanej szerokości (i w kolorze stroke).
Typ: ciąg znaków lub obiekt
Domyślnie: „white”
chartArea.left

Jak daleko od lewej krawędzi należy narysować wykres.

Typ: liczba lub ciąg znaków.
Domyślnie automatycznie
chartArea.top

Odległość wykresu od górnej krawędzi.

Typ: liczba lub ciąg znaków.
Domyślnie automatycznie
chartArea.width

Szerokość obszaru wykresu.

Typ: liczba lub ciąg znaków.
Domyślnie automatycznie
chartArea.height

Wysokość obszaru wykresu.

Typ: liczba lub ciąg znaków.
Domyślnie automatycznie
kolory

Kolory elementów wykresu. Tablica ciągów znaków, w których każdy element jest ciągiem znaków koloru HTML, np. colors:['red','#004411'].

Typ: tablica ciągów znaków
Domyślne:kolory domyślne
enableInteractivity

Określa, czy wykres generuje zdarzenia dotyczące użytkowników czy reaguje na interakcję użytkownika. Jeśli ma wartość false (fałsz), wykres nie będzie wywoływać zdarzenia „select” ani innych zdarzeń związanych z interakcją (ale będzie generować zdarzenia gotowe lub zdarzenia błędu) i nie będzie wyświetlać tekstu wyświetlanego po najechaniu kursorem ani w inny sposób zmieniać się w zależności od danych wejściowych użytkownika.

Typ: wartość logiczna
Wartość domyślna:true (prawda)
fontSize

Domyślny rozmiar czcionki całego tekstu na wykresie (w pikselach). Możesz zastąpić to ustawienie za pomocą właściwości dla konkretnych elementów wykresu.

Typ: liczba
Domyślne:automatyczne
fontName

Domyślna krój czcionki dla całego tekstu na wykresie. Możesz zastąpić to ustawienie za pomocą właściwości dla konkretnych elementów wykresu.

Typ: ciąg znaków
Wartość domyślna: „Blogger”
forceIFrame

Rysuje wykres wewnątrz ramki wbudowanej. (Pamiętaj, że w IE8 ta opcja jest ignorowana – wszystkie wykresy w IE8 są rysowane w ramkach i-frame).

Typ: wartość logiczna
Wartość domyślna: fałsz.
wysokość

Wysokość wykresu w pikselach.

Typ: liczba
Domyślna: wysokość elementu nadrzędnego.
is3D

Jeśli ma wartość true (prawda), wyświetla wykres trójwymiarowy.

Typ: wartość logiczna
Wartość domyślna: fałsz.
legenda

Obiekt z członkami służącymi do konfigurowania różnych aspektów legendy. Aby określić właściwości tego obiektu, możesz użyć notacji literału obiektu, jak pokazano poniżej:

{position: 'top', textStyle: {color: 'blue', fontSize: 16}}
Typ: obiekt
Wartość domyślna:null
legend.alignment

Wyrównanie legendy. Użyj jednego z tych rodzajów wartości:

  • „start” – wyrównane do początku obszaru przydzielonego do legendy.
  • „center” (centrum) – wyśrodkowany w obszarze przydzielonego dla legendy.
  • „end” – wyrównane do końca obszaru przydzielonego do legendy.

Początek, środek i koniec odnoszą się do stylu (pionowego lub poziomego) legendy. Na przykład w legendzie „po prawej” punkty „początek” i „koniec” znajdują się odpowiednio na górze i na dole. W legendzie „góra” wartości „początek” i „koniec” znajdują się odpowiednio po lewej i prawej stronie obszaru.

Wartość domyślna zależy od pozycji legendy. Domyślna wartość w legendach „bottom” to „center”, a w innych – „start”.

Typ: ciąg znaków
Domyślne:automatyczne
legend.position

Pozycja legendy. Użyj jednego z tych rodzajów wartości:

  • „bottom” – wyświetla legendę pod wykresem.
  • „z etykietami” – rysuje linie łączące wycinki z wartościami danych.
  • „lewa” – wyświetla legendę na lewo od wykresu.
  • „brak” – nie wyświetla legendy.
  • „right” – wyświetla legendę na prawo od wykresu.
  • „góra” – wyświetla legendę nad wykresem.
Typ: ciąg znaków
Domyślnie: „right”
legend.maxLines

Maksymalna liczba wierszy w legendzie. Aby dodać wiersze do legendy, ustaw wartość większą niż 1. Uwaga: dokładna logika używana do określenia rzeczywistej liczby wyrenderowanych wierszy wciąż się zmienia.

Obecnie ta opcja działa tylko wtedy, gdy pole legend.position ma wartość „top”.

Typ: liczba
Wartość domyślna: 1
legend.textStyle

Obiekt określający styl tekstu legendy. Obiekt ma ten format:

{ color: <string>,
  fontName: <string>,
  fontSize: <number>,
  bold: <boolean>,
  italic: <boolean> }
    

color może być dowolnym ciągiem znaków HTML koloru, na przykład 'red' lub '#00cc00'. Zobacz też fontName i fontSize.

Typ: obiekt
Domyślnie: {color: 'black', fontName: <global-font-name>, fontSize: <global-font-size>}
pieHole

Jeśli mieści się w zakresie od 0 do 1, wyświetla się wykres pierścieniowy. Otwór o promieniu number pomnożony przez promień wykresu.

Typ: liczba
Wartość domyślna: 0
pieSliceBorderColor

Kolor obramowania wycinka. Ma zastosowanie tylko wtedy, gdy wykres jest dwuwymiarowy.

Typ: ciąg znaków
Domyślnie: „white”
pieSliceText

Zawartość tekstu wyświetlana na wycinku. Użyj jednego z tych rodzajów wartości:

  • „percentage” – odsetek rozmiaru wycinka w całości.
  • „value” – wartość ilościowa wycinka.
  • „label” – nazwa wycinka.
  • „none” (brak) – tekst nie jest wyświetlany.
Typ: ciąg znaków
Wartość domyślna: „percentage”
pieSliceTextStyle

Obiekt, który określa styl tekstu wycinka. Obiekt ma ten format:

{color: <string>, fontName: <string>, fontSize: <number>}

color może być dowolnym ciągiem znaków HTML koloru, na przykład 'red' lub '#00cc00'. Zobacz też fontName i fontSize.

Typ: obiekt
Domyślnie: {color: 'black', fontName: <global-font-name>, fontSize: <global-font-size>}
pieStartAngle

Kąt (w stopniach), o który obraca się wykres. Domyślna wartość 0 skieruje skrajną lewą krawędź pierwszego wycinka bezpośrednio do góry.

Typ: liczba
Wartość domyślna: 0
reverseCategories

Jeśli ma wartość prawda, rysuje wycinki w lewo. Domyślnie rysowane są w prawo.

Typ: wartość logiczna
Wartość domyślna: fałsz.
pieResidueSliceColor

Kolor wycinka kombinacji, który trzyma wszystkie wycinki poniżej progu widoczności wycinka.

Typ: ciąg znaków
Domyślnie: „#ccc”.
pieResidueSliceLabel

Etykieta wycinka kombinacji, który trzyma wszystkie wycinki poniżej sliceVisibilityThreshold.

Typ: ciąg znaków
Domyślny: „Inne”.
wycinki

Tablica obiektów, z których każdy opisuje format odpowiedniego wycinka koła. Aby użyć wartości domyślnych dla wycinka, wskaż pusty obiekt (np. {}). Jeśli wycinek lub wartość nie będą określone, zostanie użyta wartość globalna. Każdy obiekt obsługuje te właściwości:

  • color – kolor tego wycinka. Podaj prawidłowy ciąg znaków HTML koloru.
  • offset – jak daleko oddzielić wycinek od reszty koła, od 0,0 (wcale nie) do 1,0 (promień koła).
  • textStyle – zastępuje globalną wartość pieSliceTextStyle dla tego wycinka.

Możesz określić tablicę obiektów, z których każdy będzie stosowany do wycinka w podanej kolejności, albo określić obiekt, w którym każdy element podrzędny ma klucz numeryczny wskazujący, do którego wycinka ma zastosowanie. Na przykład te dwie deklaracje są identyczne, a pierwszy wycinek jest zadeklarowany jako czarny, a czwarty – jako czerwony:

slices: [{color: 'black'}, {}, {}, {color: 'red'}]
slices: {0: {color: 'black'}, 3: {color: 'red'}}
      
Typ: tablica obiektów lub obiektów z zagnieżdżonymi obiektami
Wartość domyślna: {}
sliceVisibilityThreshold

Wartość ułamkowa ciasta, poniżej której wycinek nie będzie się wyświetlał pojedynczo. Wszystkie wycinki, które nie przekroczyły tego progu, zostaną połączone w jeden wycinek „Inne”, którego rozmiar jest sumą wszystkich ich rozmiarów. Domyślnie nie jest wyświetlany każdy wycinek mniejszy niż pół stopnia.

// Slices less than 25% of the pie will be
// combined into an "Other" slice.
sliceVisibilityThreshold: .25
      
Typ: liczba
Domyślnie: połowa stopnia (0,5/360, 1/720 lub 0,0014)
tytuł

Tekst do wyświetlenia nad wykresem.

Typ: ciąg znaków
Domyślnie bez tytułu.
titleTextStyle

Obiekt, który określa styl tekstu tytułu. Obiekt ma ten format:

{ color: <string>,
  fontName: <string>,
  fontSize: <number>,
  bold: <boolean>,
  italic: <boolean> }
    

color może być dowolnym ciągiem znaków HTML koloru, na przykład 'red' lub '#00cc00'. Zobacz też fontName i fontSize.

Typ: obiekt
Domyślnie: {color: 'black', fontName: <global-font-name>, fontSize: <global-font-size>}
etykietka

Obiekt z elementami służącymi do konfigurowania różnych elementów etykietek. Aby określić właściwości tego obiektu, możesz użyć notacji literału obiektu, jak pokazano poniżej:

{textStyle: {color: '#FF0000'}, showColorCode: true}
Typ: obiekt
Wartość domyślna:null
tooltip.ignoreBounds

Jeśli ustawisz wartość true, rysowanie etykietek będzie poza granicami wykresu ze wszystkich stron.

Uwaga: dotyczy to tylko etykiet HTML. Jeśli ta opcja jest włączona w etykietkach SVG, wszystkie nadmiarowe elementy poza granicami wykresu zostaną przycięte. Więcej informacji znajdziesz w sekcji Dostosowywanie treści etykietki.

Typ: wartość logiczna
Wartość domyślna: fałsz.
tooltip.isHtml

Jeśli ma wartość Prawda, używaj etykietek renderowanych HTML (a nie renderowanych w formacie SVG). Więcej informacji znajdziesz w sekcji Dostosowywanie treści etykietki.

Uwaga: wizualizacja wykresu bąbelkowego nie obsługuje dostosowywania zawartości etykietki HTML za pomocą roli danych kolumny etykietki.

Typ: wartość logiczna
Wartość domyślna: fałsz.
tooltip.showColorCode

Jeśli ma wartość prawda, w etykietce obok informacji o wycinku wyświetlaj kolorowe kwadraty.

Typ: wartość logiczna
Wartość domyślna: fałsz.
tooltip.text

Informacje wyświetlane, gdy użytkownik najedzie kursorem na wycinek koła. Obsługiwane są te wartości:

  • „zarówno” – [wartość domyślna] powoduje wyświetlanie zarówno wartości bezwzględnej wycinka, jak i procentu całości.
  • „value” – wyświetla tylko bezwzględną wartość wycinka.
  • „percentage” – wyświetlanie tylko procentu całej całości reprezentowanej przez wycinek.
Typ: ciąg znaków
Domyślnie: „zarówno”
tooltip.textStyle

Obiekt, który określa styl tekstu etykietki. Obiekt ma ten format:

{ color: <string>,
  fontName: <string>,
  fontSize: <number>,
  bold: <boolean>,
  italic: <boolean> }
    

color może być dowolnym ciągiem znaków HTML koloru, na przykład 'red' lub '#00cc00'. Zobacz też fontName i fontSize.

Typ: obiekt
Domyślnie: {color: 'black', fontName: <global-font-name>, fontSize: <global-font-size>}
tooltip.trigger

Interakcja użytkownika, która powoduje wyświetlenie etykietki:

  • „fokus” – etykietka jest wyświetlana po najechaniu przez użytkownika kursorem na element.
  • „none” (brak) – etykietka nie będzie wyświetlana.
  • „wybór” – etykietka zostanie wyświetlona, gdy użytkownik wybierze element.
Typ: ciąg znaków
Domyślnie: „fokus”
szerokość

Szerokość wykresu w pikselach.

Typ: liczba
Domyślna: szerokość elementu nadrzędnego.

Metody

Metoda
draw(data, options)

Rysuje wykres. Wykres akceptuje kolejne wywołania metod dopiero po wywołaniu zdarzenia ready. Extended description.

Return Type: brak
getAction(actionID)

Zwraca obiekt działania etykietki z żądanym obiektem actionID.

Return Type: (Typ zwracania): obiekt
getBoundingBox(id)

Zwraca obiekt zawierający lewo, górę, szerokość i wysokość elementu wykresu id. Format zapisu id nie jest jeszcze udokumentowany (są to wartości zwracane przez moduły obsługi zdarzeń), ale oto kilka przykładów:

var cli = chart.getChartLayoutInterface();

Wysokość obszaru wykresu
cli.getBoundingBox('chartarea').height
Szerokość trzeciego słupka w pierwszej serii wykresu słupkowego lub kolumnowego
cli.getBoundingBox('bar#0#2').width
Ramka ograniczająca piątej podkładki na wykresie kołowym
cli.getBoundingBox('slice#4')
Ramka ograniczająca dane wykresu pionowego (np. kolumnowego):
cli.getBoundingBox('vAxis#0#gridline')
Ramka ograniczająca dane wykresu poziomego (np. słupkowego):
cli.getBoundingBox('hAxis#0#gridline')

Wartości odnoszą się do kontenera wykresu. Wywołuj je po narysowaniu wykresu.

Return Type: (Typ zwracania): obiekt
getChartAreaBoundingBox()

Zwraca obiekt zawierający lewo, górę, szerokość i wysokość zawartości wykresu (tj. bez etykiet i legendy):

var cli = chart.getChartLayoutInterface();

cli.getChartAreaBoundingBox().left
cli.getChartAreaBoundingBox().top
cli.getChartAreaBoundingBox().height
cli.getChartAreaBoundingBox().width

Wartości odnoszą się do kontenera wykresu. Wywołuj je po narysowaniu wykresu.

Return Type: (Typ zwracania): obiekt
getChartLayoutInterface()

Zwraca obiekt zawierający informacje o pozycji na ekranie wykresu i jego elementów.

W przypadku zwróconego obiektu można wywołać te metody:

  • getBoundingBox
  • getChartAreaBoundingBox
  • getHAxisValue
  • getVAxisValue
  • getXLocation
  • getYLocation

Wywołuj je po narysowaniu wykresu.

Return Type: (Typ zwracania): obiekt
getHAxisValue(xPosition, optional_axis_index)

Zwraca poziomą wartość danych w punkcie xPosition, czyli odsunięcie od lewej krawędzi kontenera wykresu w pikselach. Może być ujemna.

Przykład: chart.getChartLayoutInterface().getHAxisValue(400).

Wywołuj je po narysowaniu wykresu.

Return Type: (Typ zwrotu): liczba
getImageURI()

Zwraca wykres zserializowany jako identyfikator URI obrazu.

Wywołuj je po narysowaniu wykresu.

Zobacz Drukowanie wykresów PNG.

Return Type: (Typ zwracania): ciąg znaków
getSelection()

Zwraca tablicę wybranych elementów wykresu. Elementy do wyboru to wycinki i wpisy legendy. Na tym wykresie w danym momencie można wybrać tylko 1 element. Extended description

Return Type: tablica elementów zaznaczenia.
getVAxisValue(yPosition, optional_axis_index)

Zwraca pionową wartość danych przy yPosition, czyli przesunięcie w pikselach od górnej krawędzi kontenera wykresu. Może być ujemna.

Przykład: chart.getChartLayoutInterface().getVAxisValue(300).

Wywołuj je po narysowaniu wykresu.

Return Type: (Typ zwrotu): liczba
getXLocation(dataValue, optional_axis_index)

Zwraca współrzędną X piksela dla elementu dataValue względem lewej krawędzi kontenera wykresu.

Przykład: chart.getChartLayoutInterface().getXLocation(400).

Wywołuj je po narysowaniu wykresu.

Return Type: (Typ zwrotu): liczba
getYLocation(dataValue, optional_axis_index)

Zwraca współrzędną Y piksela (dataValue) względem górnej krawędzi kontenera wykresu.

Przykład: chart.getChartLayoutInterface().getYLocation(300).

Wywołuj je po narysowaniu wykresu.

Return Type: (Typ zwrotu): liczba
removeAction(actionID)

Usuwa z wykresu działanie etykietki z żądanym elementem actionID.

Typ zwrotu: none
setAction(action)

Ustawia działanie etykietki, które ma być wykonywane po kliknięciu tekstu działania przez użytkownika.

Metoda setAction przyjmuje obiekt jako parametr działania. Ten obiekt powinien określać 3 właściwości: id – identyfikator ustawianego działania, text – tekst, który powinien być widoczny w etykietce działania, oraz action – funkcję, która powinna zostać uruchomiona po kliknięciu tekstu działania przez użytkownika.

Przed wywołaniem metody draw() wykresu należy ustawić wszystkie działania związane z etykietką. Rozszerzony opis

Typ zwrotu: none
setSelection()

Wybiera określone elementy wykresu. Anuluje wcześniejszy wybór. Elementy do wyboru to wycinki i wpisy legendy. Na tym wykresie można wybrać tylko 1 element naraz. Extended description

Return Type: brak
clearChart()

Czyści wykres i zwalnia wszystkie przydzielone Ci zasoby.

Return Type: brak

Zdarzenia

Więcej informacji o korzystaniu z tych zdarzeń znajdziesz w artykułach Podstawowa interaktywność, Obsługa zdarzeń i Uruchamianie zdarzeń.

Nazwa
click

Uruchamiane, gdy użytkownik kliknie wykres. Pozwala określić, kiedy klikane są tytuł, elementy danych, wpisy legendy, osie, linie siatki lub etykiety.

Właściwości: targetID
error

Uruchamiane, gdy podczas próby wyrenderowania wykresu wystąpi błąd.

Właściwości: identyfikator, komunikat
onmouseover

Uruchamiane, gdy użytkownik najedzie kursorem na element wizualny. Przekazuje z powrotem indeksy wierszy i kolumn odpowiedniego elementu tabeli danych. Wpis wycinka lub legendy odpowiada wierszowi w tabeli danych (indeks kolumny ma wartość null).

Właściwości: wiersz, kolumna
onmouseout

Uruchamiane, gdy użytkownik najedzie kursorem poza obiekt wizualny. Przekazuje z powrotem indeksy wierszy i kolumn odpowiedniego elementu tabeli danych. Wpis wycinka lub legendy odpowiada wierszowi w tabeli danych (indeks kolumny ma wartość null).

Właściwości: wiersz, kolumna
ready

Wykres jest gotowy do obsługi wywołań metod zewnętrznych. Jeśli chcesz korzystać z wykresu i metod wywołań po jego narysowaniu, skonfiguruj detektor tego zdarzenia przed wywołaniem metody draw i wywołaj je dopiero po wywołaniu zdarzenia.

Właściwości: brak
select

Uruchamiane, gdy użytkownik kliknie element wizualny. Aby dowiedzieć się, co zostało wybrane, zadzwoń pod numer getSelection().

Właściwości: brak

Zasady dotyczące danych

Cały kod i dane są przetwarzane i renderowane w przeglądarce. Żadne dane nie są wysyłane na żaden serwer.