Inhalt:
- Optimale Datenstruktur
- Beispiel: Füllen der Daten
Optimale Datenstruktur (Datenbank)Kategory | Wert |
---|
Bverages | 393 |
Condiments | 507 |
Confections | 386 |
Optimale Objektstruktur (Java)
Code Block |
---|
language | java |
---|
theme | Eclipse |
---|
firstline | 1 |
---|
linenumbers | true |
---|
|
public class PieChartObject {
private String category;
private Integer value;
public String getCategory() {
return this.category;
}
public void setCategory(final String category) {
this.category = category;
}
public Integer getValue() {
return this.value;
}
public void setValue(final Integer value) {
this.value = value;
}
} |
Beispiel: Füllen der Daten Code Block |
---|
language | java |
---|
theme | Eclipse |
---|
firstline | 1 |
---|
linenumbers | true |
---|
|
XdevPieChartModelfinal ChartModel model = new XdevPieChartModel( ChartModel.New()
.addColumn(Column.New(Type.STRING))
.addColumn(Column.New(Type.NUMBER));
model.addItemaddRow("BeveragesKatze", 393, null50);
model.addItemaddRow("CondimantsHund", 507, null25);
model.addItemaddRow("ConfectionsSchlange", 386, null25);
chartthis.pieChart.setModel(model); |
oder per Schleife aus Query-Methode:
Code Block |
---|
language | java |
---|
theme | Eclipse |
---|
firstline | 1 |
---|
linenumbers | true |
---|
|
final XdevPieChartModelChartModel model = new XdevPieChartModel( ChartModel.New()
.addColumn(Column.New(Type.STRING))
.addColumn(Column.New(Type.NUMBER));
new ProductDAO().getProductsByCategoryForChart().forEach(p -> {
model.addItemaddRow(p.getCategory().getCategoryname(), (int) p.getAmount(), null);
});
chart.setModel(model);
|
API und Methoden:
...
...
Anchor |
---|
Sizing | Sizing | Positionierung und Größe des Pie innerhalb des Chartbereichs...
language | java |
---|
theme | Eclipse |
---|
firstline | 1 |
---|
title | model.addItem(String value, String value2, Integer value3) |
---|
linenumbers | true |
---|
...
model.addItem("Beverages", 393, null);
//Parameter 1 ("Beverages"): Wert als Kategoriebenennung für die "Kuchenstücke"
//Parameter 2 (393): Wert für die Größe der Stücke. Zulässige Datentypen: Integer, Double
//Parameter 3 (Slice): Konfigurationsobjekt für dieses "Kuchenstück". Ist keine besondere Konfiguration notwendig wird einfach NULL übergeben.
Konfiguration "XdevPieChartConfig" allgemein:Properties |
|
---|
PieHole | If between 0 and 1, displays a donut chart. The hole with have a radius equal to number times the radius of the chart. |
...
XdevPieChartConfig config = new XdevPieChartConfig();
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
config.setChartArea(area);
...
pieChart.setPieHole(0.5); |
|
PieStartAngle | The angle, in degrees, to rotate the chart by. The default of 0 will orient the leftmost edge of the first slice directly up. |
...
XdevPieChartConfig config = new XdevPieChartConfig();
config.setIs3D(false); //3D Darstellung ein- oder ausschalten
config.setPieHole(0.4); //Darstellung als Donut-Chart ein- oder ausschalten. Wert zwischen 0 und 1 in Abhängigkeit des Pie Radius
config.setPieStartAngle(3); //Drehung des PieCharts in Grad
...
Code Block |
---|
language | java |
---|
theme | Eclipse |
---|
firstline | 1 |
---|
linenumbers | true |
---|
|
XdevPieChartConfig config = new XdevPieChartConfig();
config.setLegend(...); //Siehe API Allgemein "LegendOptions"
config.setTitleTextStyle(...); //Siehe API Allgemein "TextStyle"
config.setFontName(""); //Wahl der Schriftart (Schriftart muss vom Browser unterstützt werden)
config.setFontSize(15); //Setzen allgemeine Schriftgröße im Chart
config.setTitle("Sales Overview"); //Setzen ChartTitel
//Konfigurieren welcher Wert im Slice als Beschriftung angezeigt werden soll.
//Mögliche Werte
// - XdevPieChartConfig.PIESLICETEXT_PERCENTAGE --> Prozentsatz des Slice in Abhängigkeit zu allen anderen
// - XdevPieChartConfig.PIESLICETEXT_VALUE --> Wert des Slices
// - XdevPieChartConfig.PIESLICETEXT_LABEL --> Name des Slices / Name der Kategorie
// - XdevPieChartConfig.PIESLICETEXT_NONE --> Kein Text wird im Slice angezeigt
config.setPieSliceText(PIESLICETEXT_VALUE); |
...
pieChart.setPieStartAngle(60); |
|
PieSliceBorderColor | The color of the slice borders. Only applicable when the chart is two-dimensional. |
...
XdevPieChartConfig config = new XdevPieChartConfig();
config.setBackgroundColor(...); //Siehe API Allgemein "BackgroundStyle"
config.setPieSliceBorderColor("Red"); //Setzen der Farben für die einzelnen Slices
config.setPieResidueSliceColor("red"); //Setzen allgemeine Schriftfarbe des Titles, SubTitles
pieChart.setPieSliceBorderColor("red"); |
|
PieSliceText | The content of the text displayed on the slice. Can be one of the following: - 'percentage' - The percentage of the slice size out of the total.
- 'value' - The quantitative value of the slice.
- 'label' - The name of the slice.
'none' - No text is displayed |
...
XdevPieChartConfig config = new XdevPieChartConfig();
//Grenze für die Zusammenfassung mehrerer Slices. Kategorien welche einen bestimmte prozentuellen Wert nicht Überschreiten
//werden zu einem Slice zusammengefasst und als "Other" aufgeführt. Mögliche Werte 0 und 1 bezogen auf den prozentuellen Anteil.
config.setSliceVisibilityThreshold(0.15);
config.setPieResidueSliceLabel("Sonstige"); //Setzen des Titels für die zusammengefassten Kategorien Default: "Others"
...
pieChart.setPieSliceText(PieSliceText.PERCENTAGE); |
|
SliceVisibilityThreshold | The fractional value of the pie, below which a slice will not show individually. All slices that have not passed this threshold will be combined to a single "Other" slice, whose size is the sum of all their sizes. Default is not to show individually any slice which is smaller than half a degree. |
...
XdevPieSlice slice = new XdevPieSlice();
slice.setColor("red"); //Farbe des XdevPieSlice wahlweise in Kurzschreibweise ("Red") oder Farbcodes ("#FFFFFF")
slice.setOffset(0.3); //Ausrückung des XdevPieSlice. Wert zwischen 0 und 1 in Abhängigkeit des Pie Radius
slice.setTextStyle(null); //TextStyle Objekt siehe dazu API Allgemein
model.addItem("Beverages", 393, slice);
...
pieChart.setSliceVisibilityThreshold(25); |
|
Is3D | If true, displays a three-dimensional chart. |
...