Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

  

Optimale Datenstruktur (Datenbank)

KategoryWert
Bverages393
Condiments507
Confections386

Optimale Objektstruktur (Java)

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

final XdevPieChartModel model = new XdevPieChartModel();

model.addItem("Beverages", 393, null);
model.addItem("Condimants", 507, null);
model.addItem("Confections", 386, null);

chart.setModel(model);

oder per Schleife aus Query-Methode:

final XdevPieChartModel model = new XdevPieChartModel();

new ProductDAO().getProductsByCategoryForChart().forEach(p -> {
       model.addItem(p.getCategory().getCategoryname(), (int) p.getAmount(), null);
});

chart.setModel(model);

API und Methoden:

model.addItem(String value, String value2, Integer value3)
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:

Slice
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.setBackgroundColor(...); //Siehe API Allgemein "BackgroundStyle"

config.setLegend(...); //Siehe API Allgemein "LegendOptions"

config.setFontName(""); //Wahl der Schriftart (Schriftart muss vom Browser unterstützt werden)

config.setFontSize(15); //Setzen allgemeine Schriftgröße im Chart

config.setPieResidueSliceColor("red"); //Setzen allgemeine Schriftfarbe des Titles, SubTitles

config.setTitle("Sales Overview"); //Setzen ChartTitel

config.setPieSliceBorderColor("Red"); //Setzen der Farben für die einzelnen Slices

//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);

//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"

Konfiguration eines "XdevPieSlice" und Zuweisung über die .addItem(...) Methode:

Slice
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);
Slice
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);
  • No labels