Google Charts
GoogleChart-komponentti integroi Google Charts -kirjaston webforJ:hen, antaen sinulle pääsyn kaaviotyyppeihin kuten palkki-, viiva-, piirakka-, geo- ja muihin. Kaaviot konfiguroidaan Javalla käyttämällä tyyppiä, datasarjaa ja vaihtoehtokarttaa, joka hallitsee ulkoasua ja toimintaa.
Luodaan kaavio
Käyttääksesi GoogleChart-luokkaa sovelluksessasi, käytä seuraavaa XML:ää POM-tiedostossasi:
<dependency>
<groupId>com.webforj</groupId>
<artifactId>webforj-googlecharts</artifactId>
<version>${webforj.version}</version>
</dependency>
Luodaksesi kaavion määritä kaaviotyyppi, konfiguroi visuaaliset vaihtoehdot ja anna näytettävät tiedot.
Tässä esimerkissä luodaan geo-kaavio, joka kartoittaa tuloja eri maissa, mukautetuilla väreillä, legenda-asettelulla ja kaavioalueen koon säätöillä:
Näytä koodi
- Java
- CSS
Kaaviotyypit
GoogleChart-lisäosa tarjoaa kattavan valikoiman kaaviotyyppejä erilaisia tietovisualisointitarpeita varten. Oikean kaaviotyypin valitseminen on tärkeää, jotta voi tehokkaasti välittää tiedon tarinan. Katso alla olevasta galleriasta esimerkkejä yleisistä kaavioista, joita voidaan käyttää webforJ-sovelluksessa.
Näytä koodi
- Java
- CSS
Vaihtoehdot
GoogleChart-lisäosa mahdollistaa laajan mukauttamisen erilaisten vaihtoehtojen avulla. Nämä vaihtoehdot antavat sinulle mahdollisuuden muokata kaavioiden ulkoasua ja toiminnallisuutta sovelluksesi tarpeiden mukaan. Vaihtoehdot välitetään Map<String, Object>-objektina kaavion setOptions()-menetelmälle.
Tässä on esimerkki kaavion vaihtoehtojen asettamisesta:
Map<String, Object> options = new HashMap<>();
options.put("title", "Kuukausittaiset tulot");
options.put("backgroundColor", "#EFEFEF");
// Ota vaihtoehdot käyttöön kaaviossa
chart.setOptions(options);
Lisätietoja erityisten kaavioiden käytettävissä olevista vaihtoehdoista löydät Google Visualization API -viitteestä (Chart Gallery).
Tietojen asettaminen
Tietojen visualisoiminen GoogleChart-kaaviossa vaatii tietojen asianmukaista muotoilua ja asettamista. Tämä opas vie sinut läpi tiedon valmistelun ja soveltamisen kaavioihisi.
Perusdatan valmistelu
Yksinkertaisin tapa määrittää tiedot on käyttää List<Object>-objektia, jossa jokainen rivi on lista arvoja.
List<Object> data = new ArrayList<>();
data.add(Arrays.asList("Tehtävä", "Tunteja päivässä"));
data.add(Arrays.asList("Työ", 11));
data.add(Arrays.asList("Syö", 2));
data.add(Arrays.asList("Työmatka", 2));
data.add(Arrays.asList("Katso TV:tä", 2));
data.add(Arrays.asList("Nuku", 7));
chart.setData(data);
Karttojen käyttö monimutkaisemmissa rakenteissa
Monimutkaisempia tietorakenteita varten voit käyttää karttoja rivien edustamiseen ja muuntaa ne sitten vaadittuun muotoon.
List<Object> data = new ArrayList<>();
// Otsikkorivi
data.add(Arrays.asList("Maa", "Tulot"));
// Tiedot rivit
Map<String, Object> row1 = Map.of("Maa", "Saksa", "Tulot", 1000);
Map<String, Object> row2 = Map.of("Maa", "Yhdysvallat", "Tulot", 1170);
Map<String, Object> row3 = Map.of("Maa", "Brasilia", "Tulot", 660);
data.add(new ArrayList<>(row1.values()));
data.add(new ArrayList<>(row2.values()));
data.add(new ArrayList<>(row3.values()));
chart.setData(data);
Kun tiedot on valmisteltu, ne voidaan asettaa GoogleChartin avulla setData-menetelmällä.
Näytä koodi
- Java
Tietojen ja vaihtoehtojen lataaminen JSON:sta
Voit myös ladata tietoja ja vaihtoehtoja JSON-tiedostoista käyttäen Gsonia helpompaa hallintaa varten. Tämä lähestymistapa auttaa pitämään tietosi ja vaihtoehtosi järjestyksessä ja helposti päivitettävissä.
List<Object> data = new ArrayList<>();
data.add(Arrays.asList("Vuosi", "Myynnit", "Kulut"));
data.add(Arrays.asList("2013", 1000, 400));
data.add(Arrays.asList("2014", 1170, 460));
data.add(Arrays.asList("2015", 660, null));
data.add(Arrays.asList("2016", 1030, 540));
chart.setData(data);
Map<String, Object> options = new Gson().fromJson(
Assets.contentOf("options.json"),
new TypeToken<Map<String, Object>>() {}.getType()
);
chart.setOptions(options);
Kaavioiden visuaalisten ominaisuuksien päivittäminen
Kaavioiden ulkoasun päivittäminen tai päivittäminen tietomuutosten, käyttäjätapahtumien tai visuaalisten vaihtoehtojen säätöjen vastaisesti on yksinkertaista redraw()-menetelmällä. Tämä menetelmä varmistaa, että kaaviosi pysyvät tarkkoina ja visuaalisesti linjassa taustalla olevan datan tai asetusten muutosten kanssa.
Käytä redraw()-menetelmää sellaisissa tilanteissa, kuten:
- Tietomuutosten jälkeen: Varmistaa, että kaavio heijastaa muutoksia sen tietolähteessä.
- Vaihtoehtojen muuttuessa: Soveltaa uusia tyylit tai konfiguraatiomuutoksia kaavioon.
- Joustavissa säädöissä: Säätelee kaavion asettelua tai kokoa, kun säiliön mitat muuttuvat, varmistaen optimaalisen esityksen laitteiden välillä.
Näytä koodi
- Java
- CSS
Kaavioiden vieminen kuvina
getImageUri()-menetelmä tarjoaa tavan viedä Google-kaaviosi base64-koodatuiksi PNG-kuviksi. Tämä menetelmä on erityisen hyödyllinen kaavioiden jakamisessa ulkopuolella verkkoympäristössä, upottamisessa sähköposteihin tai asiakirjoihin tai yksinkertaisesti arkistointitarkoituksiin.
Kutsu getImageUri()-menetelmää kaavio-instanssillasi kaavion oltua täysin renderöity. Tyypillisesti tätä menetelmää käytetään "valmiina" tapahtuman kuuntelijassa varmistaaksesi, että kaavio on valmis vientiä varten:
chart.addReadyListener(e -> {
String imageUri = chart.getImageUri();
// Nyt voit käyttää imageUri:ta, esimerkiksi img-tagin src-attribuutti
});
GoogleChartSelectedEvent
GoogleChartSelectedEvent käynnistetään aina, kun käyttäjä valitsee datapisteen tai segmentin Google Chart -komponentissa. Tämä tapahtuma mahdollistaa vuorovaikutuksen valitun kaaviotiedon kanssa, tarjoten tietoja valitusta. Tapahtumalle voidaan kuunnella käyttämällä addSelectedListener()-menetelmää GoogleChart-instanssilla.
GoogleChartSelectedEvent on hyödyllinen sovelluksissa, joissa käyttäjän vuorovaikutus kaavion kanssa on tarpeen.
GoogleChart chart = new GoogleChart(GoogleChart.Type.BAR);
// Lisää valittu kuuntelija kaavioon
chart.addSelectedListener(event -> {
// Hanki valinta
List<Object> selection = chart.getSelection();
// Käsittele valittu tapahtuma
if (!selection.isEmpty()) {
System.out.println("Valittu rivi: " + selection.get(0));
// Lisäkäsittely valinnan rivin/sarakkeen perusteella
}
});
Payload
GoogleChartSelectedEvent tarjoaa pääsyn valintatietoihin, jotka voidaan noutaa getSelection()-menetelmällä kaavio-oliosta. Tämä menetelmä palauttaa listan objekteista, joista jokaisessa on seuraavat ominaisuudet:
- row: Rivin indeksi kaavion tietotaulukossa, joka oli valittuna.
- column: Sarakkeen indeksi tietotaulukossa, joka on valinnainen ja koskee kaavioita, jotka sallivat yksittäisten solujen valinnan, kuten taulukon kaavio.
Esimerkiksi piirakkakaavioissa tai palkkikaavioissa vain row yleensä annetaan, mikä osoittaa valitun datapisteen.
Esimerkki payloadista:
[
{
"row": 3, // Valitun rivin indeksi datassa
"column": 2 // (Valinnainen) Valitun sarakkeen indeksi
}
]
Jos käyttäjä valitsee useita datapisteitä, getSelection()-menetelmä palauttaa objektimatriisin, joista jokainen esittää valittua elementtiä. Payload voidaan vaihdella kaaviotyypin ja käyttäjän tekemän vuorovaikutuksen mukaan.