Inhalt:
- Daten- / Objektstruktur
- Beispiel Füllen mit Daten
- Chartkonfiguration
Anmerkung: Beide Charts XdevAreaChart und XdevSteppedAreaChart besitzen die selben Implementierungen. Es ändern sich nur die Name, die Einstellungen sind aber identisch.
Optimale Datenstruktur (Datenbank):
Kategorie | Y-Achse | X-Achse |
---|---|---|
Kunden | 2013 | 4500 |
Kunden | 2014 | 9500 |
Kunden | 2015 | 10850 |
... | ||
Verkäufe | 2013 | 1200 |
Verkäufe | 2014 | 8500 |
... |
Optimale Objektstruktur (Java)
public class AreaChartObject { private String category; private String y_axis; private Integer x_axis; public String getCategory() { return this.category; } public void setCategory(final String category) { this.category = category; } public String getY_axis() { return this.y_axis; } public void setY_axis(final String y_axis) { this.y_axis = y_axis; } public Integer getX_axis() { return this.x_axis; } public void setX_axis(final Integer x_axis) { this.x_axis = x_axis; } }
Beispiel: Füllen der Daten
//Erstellen Model und hinzufügen der Kategorien final ChartModel model = ChartModel.New() .addColumn(Column.New(Type.STRING, "year", "Jahr")) .addColumn(Column.New(Type.NUMBER, "sales", "Verkäufe")) .addColumn(Column.New(Type.NUMBER, "customer", "Kunden")); //Füllen der Items model.addRow("2013", "6500", 6500); model.addRow("2014", "4321", 4321); model.addRow("2015", "9460", 9460); model.addRow("2016", "7450", 7450); model.addRow("2013", "1500", 1500); model.addRow("2014", "2850", 2850); model.addRow("2015", "685", 685); model.addRow("2016", "4850", 4850); //Setzen des Models areaChart.setModel(model);
API und Methoden:
Füllen und Definieren der Kategorien
model.addCategory(String value);
final ChartModel model = ChartModel.New() .addColumn(Column.New(Type.STRING, "year", "Jahr")) //Parameter 1 ("2013"): definiert die Beschriftung und wird als Mapping Parameter und Gruppierung verwendet wird
Füllen der Daten
model.addItem(String value, String value2, Integer value3)
model.addRow("2013", "7450", 7450); //Parameter 1 ("2013"): Wert, welchen in der X-Achse angezeigt werden soll //Parameter 2 ("6358"): Zuweisung zur jeweiligen vorher festgelegten Kategorie (Kategoriemapping) //Parameter 3 (7450): Wert für die Y-Achse. Zulässige Datentypen: Integer, Double
Positionierung und Größe
final ChartArea area = new ChartArea(); area.setHeigth("100"); //Höhe des Pie area.setWidth("100"); //Breite des Pie area.setLeft("100"); //Abstand des Pie von Links in Pixel area.setRight("100"); //Abstand des Pie von Links in Pixel area.setTop("100"); //Abstand des Pie von Links in Pixel areaChart.setChartArea(area);
Konfiguration Linien und Punkte
//Konfiguration der Punkte areaChart.setPointShape("circle"); //Form der Punkte. Mögliche Werte: Options.POINTSHAPE_CIRCLE, Options.POINTSHAPE_DIAMOND, Options.POINTSHAPE_POLYGON, Options.POINTSHAPE_SQUARE, Options.POINTSHAPE_STAR, Options.POINTSHAPE_TRIANGLE areaChart.setPointSize(10); //Größe der Punkte in Pixel //Konfiguration der Linien List<Integer> places = Arrays.asList(4,4); //Strichformatierung: Bsp: 4,4 --> 4xMinus 4xLeer Bsp: 4,1,5 --> 4xMinus 4xLeer 5xMinus 4xMinus 4xLeer 5xMinus usw., areaChart.setLineDashStyle(places); areaChart.setLineWidth(5); //Setzen der Linienbreite areaChart.setCurveType("function"); //Geschwungene Linien ("function") oder gerade Striche ("none")
Konfiguration Farben
areaChart.setBackgroundColor(...); //Siehe API Allgemein "BackgroundStyle" //Eine Liste an Farben die dann der Reihe nach an die Kategorien vergeben werden List<String> colors= Arrays.asList("#FFFFFF", "Red", "#F4g6uz"); areaChart.setColors(colors); //Zuweisen der Farbliste
Konfiguration Texte
areaChart.setLegend(...); //Siehe API Allgemein "LegendOptions" areaChart.setTitleTextStyle(...); //Siehe API Allgemein "TextStyle" areaChart.setFontName(""); //Wahl der Schriftart (Schriftart muss vom Browser unterstützt werden) areaChart.setFontSize(15); //Setzen allgemeine Schriftgröße im Chart areaChart.setTitle("Sales Overview"); //Setzen ChartTitel
Konfiguration des Tooltips und wann er angezeigt werden soll
Tooltip tooltip = new Tooltip(); tooltip.setisHtml(true); //Tooltip per HTML Konfigurierbar Ja / Nein tooltip.setTrigger("focus"); Mögliche Werte: "focus" --> MouseOver, "none" --> kein Tooltip, "selektion" --> MouseKlick areaChart.setTooltip(tooltip);