Angular Google Charts - Krótki przewodnik
Google Chartsto biblioteka wykresów oparta na języku JavaScript, która ma na celu ulepszenie aplikacji internetowych poprzez dodanie interaktywnych funkcji tworzenia wykresów. Obsługuje szeroką gamę wykresów. Wykresy są rysowane za pomocą SVG w standardowych przeglądarkach, takich jak Chrome, Firefox, Safari, Internet Explorer (IE). W starszej wersji IE 6 do rysowania grafiki używany jest język VML.
angular-google-chartsto kątowe opakowanie Open Source dla Google Charts, które zapewnia eleganckie i bogate w funkcje wizualizacje Google Charts w aplikacji Angular i może być bezproblemowo używane razem z komponentami Angular. Istnieją rozdziały omawiające wszystkie podstawowe składniki Google Charts wraz z odpowiednimi przykładami w aplikacji Angular.
cechy
Poniżej przedstawiono najważniejsze funkcje biblioteki Google Charts.
Compatability - Działa pozornie na wszystkich głównych przeglądarkach i platformach mobilnych, takich jak Android i iOS.
Multitouch Support- Obsługuje multitouch na platformach opartych na ekranie dotykowym, takich jak Android i iOS. Idealny dla iPhone / iPad i smartfonów / tabletów z systemem Android.
Free to Use - Open source i można go używać do celów niekomercyjnych.
Lightweight - Podstawowa biblioteka loader.js jest niezwykle lekką biblioteką.
Simple Configurations - Używa json do definiowania różnych konfiguracji wykresów i jest bardzo łatwy do nauczenia i użycia.
Dynamic - Pozwala modyfikować wykres nawet po wygenerowaniu wykresu.
Multiple axes- Nie ogranicza się do osi x, y. Obsługuje wiele osi na wykresach.
Configurable tooltips- Etykietka pojawia się, gdy użytkownik najedzie kursorem na dowolny punkt na wykresie. googlecharts zapewnia wbudowany formater podpowiedzi lub formater wywołania zwrotnego do programowego kontrolowania podpowiedzi.
DateTime support- Obsługuj specjalnie datę i godzinę. Zapewnia wiele wbudowanych kontroli nad kategoriami mądrymi datami.
Print - Wydrukuj wykres za pomocą strony internetowej.
External data- Obsługuje dynamiczne ładowanie danych z serwera. Zapewnia kontrolę nad danymi za pomocą funkcji zwrotnych.
Text Rotation - Obsługuje obrót etykiet w dowolnym kierunku.
Obsługiwane typy wykresów
Biblioteka Google Charts zawiera następujące typy wykresów:
Sr.No. | Typ / opis wykresu |
---|---|
1 | Line Charts Służy do rysowania wykresów opartych na liniach / splajnach. |
2 | Area Charts Służy do rysowania map obszarowych. |
3 |
Pie Charts Służy do rysowania wykresów kołowych. |
4 |
Sankey Charts, Scatter Charts, Stepped area charts, Table, Timelines, TreeMap, Trendlines Służy do rysowania rozproszonych wykresów. |
5 |
Bubble Charts Służy do rysowania wykresów bąbelkowych. |
6 |
Dynamic Charts Służy do rysowania dynamicznych wykresów, w których użytkownik może modyfikować wykresy. |
7 |
Combinations Służy do rysowania kombinacji różnych wykresów. |
8 |
3D Charts Służy do rysowania wykresów 3D. |
9 |
Angular Gauges Służy do rysowania wykresów typu prędkościomierza. |
10 |
Heat Maps Służy do rysowania map ciepła. |
11 |
Tree Maps Służy do rysowania map drzew. |
W następnych rozdziałach szczegółowo omówimy każdy rodzaj z wyżej wymienionych wykresów wraz z przykładami.
Licencja
Wykresy Google są open source i można z nich korzystać bezpłatnie. Kliknij link - Warunki korzystania z usługi .
W tym samouczku dowiesz się, jak przygotować środowisko programistyczne do rozpoczęcia pracy z Google Charts i Angular Framework. W tym rozdziale omówimy konfigurację środowiska wymaganą dla Angular 6. Aby zainstalować Angular 6, potrzebujemy:
- Nodejs
- Npm
- Angular CLI
- IDE do pisania kodu
Nodejs musi być większy niż 8,11, a npm musi być większy niż 5,6.
Nodejs
Aby sprawdzić, czy nodejs jest zainstalowany w Twoim systemie, wpisz node -vw terminalu. To pomoże ci zobaczyć wersję nodejs aktualnie zainstalowaną w twoim systemie.
C:\>node -v
v8.11.3
Jeśli nic nie drukuje, zainstaluj nodejs w swoim systemie. Aby zainstalować nodejs, przejdź na stronę głównąhttps://nodejs.org/en/download/ of nodejs i zainstaluj pakiet oparty na systemie operacyjnym.
W zależności od systemu operacyjnego zainstaluj wymagany pakiet. Po zainstalowaniu nodejs, npm zostanie również zainstalowany wraz z nim. Aby sprawdzić, czy npm jest zainstalowany, czy nie, wpisz npm -v w terminalu. Powinien wyświetlić wersję pliku npm.
C:\>npm -v
5.6.0
Instalacja Angular 6 jest bardzo prosta dzięki kątowemu CLI. Odwiedź stronę głównąhttps://cli.angular.io/ kątowe, aby uzyskać odniesienie do polecenia.
Rodzaj npm install -g @angular/cli, aby zainstalować kątowe złącze CLI w systemie.
Powyższą instalację otrzymasz w swoim terminalu po zainstalowaniu Angular CLI. Możesz użyć dowolnego wybranego środowiska IDE, tj. WebStorm, Atom, Visual Studio Code itp.
Zainstaluj Google Charts Wrapper
Uruchom następujące polecenie, aby zainstalować moduł Google Charts Wrapper w utworzonym projekcie.
googleChartsApp> npm angular-google-charts
+ [email protected]
added 2 packages in 20.526s
Dodaj następujący wpis w pliku app.module.ts
import { GoogleChartsModule } from 'angular-google-charts';
imports: [
...
GoogleChartsModule
],
W tym rozdziale pokażemy konfigurację wymaganą do narysowania wykresu za pomocą Google Chart API w Angular.
Krok 1 - Utwórz aplikację kątową
Wykonaj następujące kroki, aby zaktualizować aplikację Angular, którą utworzyliśmy w Angular 6 - rozdział Konfiguracja projektu -
Krok | Opis |
---|---|
1 | Utwórz projekt o nazwie googleChartsApp, jak wyjaśniono w rozdziale Angular 6 - Konfiguracja projektu . |
2 | Zmodyfikuj app.module.ts , app.component.ts i app.component.html, jak wyjaśniono poniżej. Resztę plików nie zmieniaj. |
3 | Skompiluj i uruchom aplikację, aby zweryfikować wynik zaimplementowanej logiki. |
Poniżej znajduje się treść zmodyfikowanego deskryptora modułu app.module.ts.
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { GoogleChartsModule } from 'angular-google-charts';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,GoogleChartsModule
],
providers: [], bootstrap: [AppComponent]
})
export class AppModule { }
Poniżej znajduje się zawartość zmodyfikowanego pliku hosta HTML app.component.html.
<google-chart #chart
[title]="title"
[type]="type"
[data]="data"
[columnNames]="columnNames"
[options]="options"
[width]="width"
[height]="height">
</google-chart>
Zaktualizowany plik app.component.ts zobaczymy na końcu po zrozumieniu konfiguracji.
Krok 2 - Użyj konfiguracji
Ustaw tytuł
title = 'Browser market shares at a specific website, 2014';
Ustaw typ wykresu
type='PieChart';
dane
Skonfiguruj dane, które mają być wyświetlane na wykresie.
data = [
['Firefox', 45.0],
['IE', 26.8],
['Chrome', 12.8],
['Safari', 8.5],
['Opera', 6.2],
['Others', 0.7]
];
nazwy kolumn
Skonfiguruj nazwy kolumn, które mają być wyświetlane.
columnNames = ['Browser', 'Percentage'];
opcje
Skonfiguruj inne opcje.
options = {
colors: ['#e0440e', '#e6693e', '#ec8f6e', '#f3b49f', '#f6c7b6'], is3D: true
};
Przykład
Rozważ następujący przykład, aby lepiej zrozumieć składnię konfiguracji -
app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'Browser market shares at a specific website, 2014';
type = 'PieChart';
data = [
['Firefox', 45.0],
['IE', 26.8],
['Chrome', 12.8],
['Safari', 8.5],
['Opera', 6.2],
['Others', 0.7]
];
columnNames = ['Browser', 'Percentage'];
options = {
};
width = 550;
height = 400;
}
Wynik
Sprawdź wynik.
Wykresy warstwowe służą do rysowania wykresów warstwowych. W tej sekcji omówimy następujące rodzaje wykresów obszarowych.
Sr.No | Typ / opis wykresu |
---|---|
1 |
Obszar podstawowy
Podstawowy wykres warstwowy |
2 |
Obszar o wartościach ujemnych
Wykres warstwowy o wartościach ujemnych. |
3 |
Obszar skumulowany
Wykres z obszarami ułożonymi jeden na drugim. |
4 |
Obszar z brakującymi punktami
Wykres z brakującymi punktami w danych. |
Wykresy słupkowe służą do rysowania wykresów słupkowych. W tej sekcji omówimy następujące rodzaje wykresów słupkowych.
Sr.No | Typ / opis wykresu |
---|---|
1 |
Pasek podstawowy
Podstawowy wykres słupkowy |
2 |
Zgrupowany wykres słupkowy
Zgrupowany wykres słupkowy. |
3 |
Stacked Bar
Wykres słupkowy ze słupkami ułożonymi jeden na drugim. |
4 |
Słupek ujemny
Wykres słupkowy ze stosem ujemnym. |
Wykresy bąbelkowe służą do rysowania wykresów bąbelkowych. W tej sekcji omówimy następujące rodzaje wykresów bąbelkowych.
Sr.No | Typ / opis wykresu |
---|---|
1 |
Basic Bubble
Podstawowy wykres bąbelkowy. |
2 |
Wykres bąbelkowy z etykietami danych
Wykres bąbelkowy z etykietami danych. |
Wykresy świecowe służą do przedstawiania wartości otwarcia i zamknięcia w odniesieniu do wariancji wartości i są zwykle używane do przedstawiania zapasów. W tej sekcji omówimy następujące rodzaje wykresów świecowych.
Sr.No | Typ / opis wykresu |
---|---|
1 |
Podstawowy świecznik
Podstawowy wykres świecowy. |
2 |
Świecznik z niestandardowymi kolorami
Spersonalizowany wykres świecowy. |
Wykresy kolumnowe służą do rysowania wykresów kolumnowych. W tej sekcji omówimy następujące rodzaje wykresów kolumnowych.
Sr.No | Typ / opis wykresu |
---|---|
1 |
Kolumna podstawowa
Podstawowy wykres kolumnowy |
2 |
Zgrupowany wykres kolumnowy
Zgrupowany wykres Colummna. |
3 |
Kolumna piętrowa
Wykres kolumnowy z kolumnami ułożonymi jeden na drugim. |
4 |
Ujemna kolumna skumulowana
Wykres Colummna ze stosem ujemnym. |
Wykres złożony pomaga w renderowaniu każdej serii jako innego typu znacznika z następującej listy: linia, obszar, słupki, świece i obszar schodkowy. Aby przypisać domyślny typ znacznika do serii, użyj właściwości seriesType. Właściwość serii służy do indywidualnego określania właściwości każdej serii. Poniżej znajduje się przykład wykresu kolumnowego pokazującego różnice.
Widzieliśmy już konfiguracje używane do rysowania wykresów w rozdziale Składnia konfiguracji wykresów Google . Spójrzmy teraz na przykład wykresu kolumnowego pokazującego różnice.
Konfiguracje
Użyliśmy ComboChart klasy, aby wyświetlić wykres kombinacji.
type='ComboChart';
Przykład
app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'Fruits distribution';
type = 'ComboChart';
data = [
["Apples", 3, 2, 2.5],
["Oranges",2, 3, 2.5],
["Pears", 1, 5, 3],
["Bananas", 3, 9, 6],
["Plums", 4, 2, 3]
];
columnNames = ['Fruits', 'Jane','Jone','Average'];
options = {
hAxis: {
title: 'Person'
},
vAxis:{
title: 'Fruits'
},
seriesType: 'bars',
series: {2: {type: 'line'}}
};
width = 550;
height = 400;
}
Wynik
Sprawdź wynik.
Histogram to wykres, który grupuje dane liczbowe w segmenty i wyświetla je jako segmentowane kolumny. Służą do przedstawiania dystrybucji zbioru danych jako częstotliwości wpadania wartości do zakresów. Wykresy Google automatycznie wybierają liczbę segmentów za Ciebie. Wszystkie segmenty mają równą szerokość i wysokość proporcjonalną do liczby punktów danych w zasobniku. Histogramy są podobne do wykresów kolumnowych w innych aspektach. W tej sekcji omówimy następujące rodzaje wykresów opartych na histogramie.
Sr.No | Typ / opis wykresu |
---|---|
1 |
Podstawowy histogram
Podstawowy wykres histogramu. |
2 |
Kontrolowanie koloru
Dostosowany kolor wykresu histogramu. |
3 |
Kontrolowanie łyżek
Dostosowane wiadra wykresu histogramu. |
4 |
Wiele serii
Wykres histogramu mający wiele serii. |
Wykresy liniowe służą do rysowania wykresów liniowych. W tej sekcji omówimy następujące rodzaje wykresów liniowych.
Sr.No | Typ / opis wykresu |
---|---|
1 |
Linia podstawowa
Podstawowy wykres liniowy. |
2 |
Z widocznymi punktami
Wykres z widocznymi punktami danych. |
3 |
Konfigurowalny kolor tła
Wykres z niestandardowym kolorem tła. |
4 |
Konfigurowalny kolor linii
Wykres z niestandardowym kolorem linii. |
5 |
Konfigurowalne etykiety osi i znaczników
Wykres z niestandardowymi etykietami osi i tików. |
6 |
Celowniki
Wykresy liniowe przedstawiające krzyżyki w punkcie danych w momencie wyboru. |
7 |
Konfigurowalny styl linii
Wykres z niestandardowym kolorem linii. |
8 |
Wykresy liniowe z zakrzywionymi liniami
Wykres z gładkimi liniami krzywymi. |
Wykres mapy Google wykorzystuje interfejs API Map Google do wyświetlania mapy. Wartości danych są wyświetlane jako znaczniki na mapie. Wartości danych mogą być współrzędnymi (długie pary) lub rzeczywistymi adresami. Mapa zostanie odpowiednio przeskalowana, aby zawierała wszystkie zidentyfikowane punkty.
Sr.No | Typ / opis wykresu |
---|---|
1 |
Mapa podstawowa
Podstawowa mapa Google. |
2 |
Mapa przy użyciu szerokości / długości geograficznej
Mapa z lokalizacjami określonymi za pomocą szerokości i długości geograficznej. |
Poniżej znajduje się przykład schematu organizacyjnego.
Schemat organizacyjny pomaga w renderowaniu hierarchii węzłów, używanej do przedstawiania relacji przełożony / podwładny w organizacji. Na przykład drzewo genealogiczne to rodzaj schematu organizacyjnego. Widzieliśmy już konfiguracje używane do rysowania wykresów w rozdziale Składnia konfiguracji wykresów Google . Spójrzmy teraz na przykład schematu organizacyjnego.
Konfiguracje
Użyliśmy OrgChart klasa, aby wyświetlić schemat organizacyjny.
type='OrgChart';
Przykład
app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = '';
type = 'OrgChart';
data = [
[{v:'Mike', f:'Mike<div style="color:red; font-style:italic">President</div>'},
'', 'The President'],
[{v:'Jim', f:'Jim<div style="color:red; font-style:italic">Vice President</div>'},
'Mike', 'VP'],
['Alice', 'Mike', ''],
['Bob', 'Jim', 'Bob Sponge'],
['Carol', 'Bob', '']
];
columnNames = ["Name","Manager","Tooltip"];
options = {
allowHtml: true
};
width = 550;
height = 400;
}
Wynik
Sprawdź wynik.
Wykresy kołowe służą do rysowania wykresów kołowych. W tej sekcji omówimy następujące rodzaje wykresów kołowych.
Sr.No | Typ / opis wykresu |
---|---|
1 |
Podstawowe ciasto
Podstawowy wykres kołowy. |
2 |
Wykres pierścieniowy
Wykres pierścieniowy. |
3 |
Wykres kołowy 3D
Wykres kołowy 3D. |
4 |
Wykres kołowy z rozstrzelonymi plasterkami
Wykres kołowy z rozstrzelonymi plasterkami. |
Wykres Sankeya jest narzędziem wizualizacyjnym i służy do przedstawiania przepływu z jednego zestawu wartości do drugiego. Połączone obiekty nazywane są węzłami, a połączenia - łączami. Sankeys są używane do pokazywania mapowania wiele do wielu między dwiema domenami lub wieloma ścieżkami przez zestaw etapów.
Sr.No | Typ / opis wykresu |
---|---|
1 |
Podstawowy wykres Sankeya
Podstawowy wykres Sankeya. |
2 |
Wielopoziomowy wykres Sankeya
Wielopoziomowy wykres Sankeya. |
3 |
Dostosowywanie wykresu Sankey
Spersonalizowany wykres Sankey. |
Poniżej znajduje się przykład wykresu punktowego.
Widzieliśmy już konfiguracje używane do rysowania wykresów w rozdziale Składnia konfiguracji wykresów Google . Spójrzmy teraz na przykład wykresu punktowego.
Konfiguracje
Użyliśmy ScatterChart klasy, aby wyświetlić wykres punktowy.
type = 'ScatterChart';
Przykład
app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = 'Age vs Weight';
type='ScatterChart';
data = [
[8,12],
[4, 5.5],
[11,14],
[4,5],
[3,3.5],
[6.5,7]
];
columnNames = ['Age', 'Weight'];
options = {
};
width = 550;
height = 400;
}
Wynik
Sprawdź wynik.
Wykres warstwowy schodkowy to wykres warstwowy krokowy. Omówimy następujące typy schodkowych wykresów warstwowych.
Sr.No | Typ / opis wykresu |
---|---|
1 |
Podstawowy wykres krokowy
Podstawowy wykres warstwowy schodkowy. |
2 |
Wykres skumulowany schodkowy
Wykres warstwowy schodkowy skumulowany. |
Wykres tabelaryczny pomaga w renderowaniu tabeli, którą można sortować i stronicować. Komórki tabeli można formatować za pomocą ciągów formatujących lub bezpośrednio wstawiając kod HTML jako wartości komórek. Wartości liczbowe są domyślnie wyrównane do prawej; wartości logiczne są wyświetlane jako znaczniki wyboru lub krzyżyki. Użytkownicy mogą wybierać pojedyncze rzędy za pomocą klawiatury lub myszy. Do sortowania można użyć nagłówków kolumn. Wiersz nagłówka pozostaje niezmieniony podczas przewijania. Tabela uruchamia zdarzenia odpowiadające interakcji użytkownika.
Widzieliśmy już konfiguracje używane do rysowania wykresów w rozdziale Składnia konfiguracji wykresów Google . Zobaczmy teraz przykład wykresu tabelarycznego.
Konfiguracje
Użyliśmy Table klasa, aby wyświetlić wykres tabeli.
type = 'Table';
Przykład
app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = "";
type = 'Table';
data = [
['Mike', {v: 10000, f: '$10,000'}, true],
['Jim', {v:8000, f: '$8,000'}, false],
['Alice', {v: 12500, f: '$12,500'}, true],
['Bob', {v: 7000, f: '$7,000'}, true]
];
columnNames = ["Name", "Salary","Full Time Employee"];
options = {
alternatingRowStyle:true,
showRowNumber:true
};
width = 550;
height = 400;
}
Wynik
Sprawdź wynik.
TreeMap to wizualna reprezentacja drzewa danych, w którym każdy węzeł może mieć zero lub więcej elementów podrzędnych i jednego rodzica (z wyjątkiem katalogu głównego). Każdy węzeł jest wyświetlany jako prostokąt, można go zmieniać i kolorować zgodnie z przypisanymi przez nas wartościami. Rozmiary i kolory są wyceniane w stosunku do wszystkich innych węzłów na wykresie. Poniżej znajduje się przykład mapy drzewa.
Widzieliśmy już konfiguracje używane do rysowania wykresów w rozdziale Składnia konfiguracji wykresów Google . Zobaczmy teraz przykład wykresu TreeMap.
Konfiguracje
Użyliśmy TreeMap klasy, aby wyświetlić wykres TreeMap.
type = 'TreeMap';
Przykład
app.component.ts
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
title = '';
type='TreeMap';
data = [
["Global",null,0,0],
["America","Global",0,0],
["Europe","Global",0,0],
["Asia","Global",0,0],
["Australia","Global",0,0],
["Africa","Global",0,0],
["USA","America",52,31],
["Mexico","America",24,12],
["Canada","America",16,-23],
["France","Europe",42,-11],
["Germany","Europe",31,-2],
["Sweden","Europe",22,-13],
["China","Asia",36,4],
["Japan","Asia",20,-12],
["India","Asia",40,63],
["Egypt","Africa",21,0],
["Congo","Africa",10,12],
["Zaire","Africa",8,10],
];
columnNames = ["Location", "Parent","Market trade volume (size)","Market increase/decrease (color)"];
options = {
minColor:"#ff7777",
midColor:'#ffff77',
maxColor:'#77ff77',
headerHeight:15,
showScale:true
};
width = 550;
height = 400;
}
Wynik
Sprawdź wynik.