Search in sources :

Example 96 with Configuration

use of com.vaadin.addon.charts.model.Configuration in project charts by vaadin.

the class MasterDetailChart method getDetailChart.

private Chart getDetailChart() {
    Chart detailChart = new Chart();
    detailChart.setHeight("100%");
    detailChart.setWidth("100%");
    Configuration configuration = detailChart.getConfiguration();
    configuration.getCredits().setEnabled(false);
    configuration.setTitle("Historical USD to EUR Exchange Rate");
    configuration.setSubTitle("Select an area by dragging across the lower chart");
    configuration.getxAxis().setType(AxisType.DATETIME);
    configuration.getyAxis().setTitle(new AxisTitle((String) null));
    configuration.getyAxis().setMinRange(0.1);
    configuration.getTooltip().setFormatter("function() {var point = this.points[0];return '<b>'+ point.series.name +'</b><br/>'+Highcharts.dateFormat('%A %B %e %Y', this.x) + ':<br/>'+'1 USD = '+ Highcharts.numberFormat(point.y, 2) +' EUR';}");
    configuration.getTooltip().setShared(true);
    PlotOptionsLine series = new PlotOptionsLine();
    series.setPointInterval(DAY_IN_MILLIS);
    configuration.setPlotOptions(series);
    States states = new States();
    Hover hover = new Hover();
    hover.setRadius(3);
    states.setHover(hover);
    Marker marker = series.getMarker();
    marker.setEnabled(false);
    marker.setStates(states);
    marker.setRadius(2);
    series.setAnimation(false);
    ListSeries seriesList = new ListSeries();
    PlotOptionsLine plotOptionsLine = new PlotOptionsLine();
    plotOptionsLine.setPointInterval(DAY_IN_MILLIS);
    plotOptionsLine.setPointStart(Util.toHighchartsTS(DEMO_DATASET_START.atStartOfDay().toInstant(ZoneOffset.UTC)));
    seriesList.setPlotOptions(plotOptionsLine);
    seriesList.setName("USD to EUR");
    seriesList.setData(FULL_DEMO_DATA_SET);
    configuration.getLegend().setEnabled(false);
    configuration.setExporting(false);
    configuration.addSeries(seriesList);
    detailChart.drawChart(configuration);
    return detailChart;
}
Also used : States(com.vaadin.addon.charts.model.States) Configuration(com.vaadin.addon.charts.model.Configuration) PlotOptionsLine(com.vaadin.addon.charts.model.PlotOptionsLine) ListSeries(com.vaadin.addon.charts.model.ListSeries) Hover(com.vaadin.addon.charts.model.Hover) Marker(com.vaadin.addon.charts.model.Marker) AxisTitle(com.vaadin.addon.charts.model.AxisTitle) Chart(com.vaadin.addon.charts.Chart)

Example 97 with Configuration

use of com.vaadin.addon.charts.model.Configuration in project charts by vaadin.

the class MasterDetailChart method getMasterChart.

private Chart getMasterChart() {
    Chart masterChart = new Chart(ChartType.AREA);
    masterChart.setHeight("80px");
    masterChart.setWidth("100%");
    masterChart.setId("master-chart");
    Configuration configuration = masterChart.getConfiguration();
    configuration.getChart().setZoomType(ZoomType.X);
    configuration.getChart().setReflow(false);
    configuration.getChart().setBorderWidth(0);
    configuration.getChart().setBackgroundColor(null);
    configuration.getChart().setMarginLeft(50);
    configuration.getChart().setMarginRight(20);
    configuration.getTitle().setText("");
    configuration.getxAxis().setType(AxisType.DATETIME);
    configuration.getxAxis().setShowLastLabel(true);
    configuration.getxAxis().setMinRange(14 * DAY_IN_MILLIS);
    configuration.getxAxis().setTitle(new AxisTitle(""));
    PlotBand mask = new PlotBand();
    mask.setColor(new SolidColor(0, 0, 0, 0.2));
    mask.setFrom(Util.toHighchartsTS(DEMO_DATASET_START.atStartOfDay().toInstant(ZoneOffset.UTC)));
    mask.setTo(Util.toHighchartsTS(DEMO_DATASET_END.atStartOfDay().toInstant(ZoneOffset.UTC)));
    configuration.getxAxis().setPlotBands(mask);
    YAxis yAxis = configuration.getyAxis();
    yAxis.setGridLineWidth(0);
    yAxis.setLabels(new Labels(false));
    yAxis.setTitle(new AxisTitle(""));
    yAxis.setMin(0.6);
    yAxis.setShowFirstLabel(false);
    configuration.getTooltip().setEnabled(false);
    configuration.getLegend().setEnabled(false);
    configuration.getCredits().setEnabled(false);
    PlotOptionsArea plotOptions = new PlotOptionsArea();
    plotOptions.setLineWidth(1);
    plotOptions.setShadow(false);
    Hover hover = new Hover();
    hover.setLineWidth(1);
    States states = new States();
    states.setHover(hover);
    plotOptions.setStates(states);
    plotOptions.setEnableMouseTracking(false);
    plotOptions.setAnimation(false);
    configuration.setPlotOptions(plotOptions);
    ListSeries ls = new ListSeries();
    PlotOptionsArea masterPlotOptions = new PlotOptionsArea();
    GradientColor fillColor = GradientColor.createLinear(0, 0, 0, 1);
    fillColor.addColorStop(0, new SolidColor(69, 114, 167, 1));
    fillColor.addColorStop(1, new SolidColor(69, 114, 167, 0.5));
    masterPlotOptions.setFillColor(fillColor);
    masterPlotOptions.setPointInterval(24 * 3600 * 1000);
    masterPlotOptions.setMarker(new Marker(false));
    masterPlotOptions.setPointStart(Util.toHighchartsTS(DEMO_DATASET_START.atStartOfDay().toInstant(ZoneOffset.UTC)));
    ls.setPlotOptions(masterPlotOptions);
    ls.setName("USD to EUR");
    ls.setData(FULL_DEMO_DATA_SET);
    configuration.addSeries(ls);
    masterChart.drawChart(configuration);
    return masterChart;
}
Also used : Configuration(com.vaadin.addon.charts.model.Configuration) GradientColor(com.vaadin.addon.charts.model.style.GradientColor) SolidColor(com.vaadin.addon.charts.model.style.SolidColor) Labels(com.vaadin.addon.charts.model.Labels) Marker(com.vaadin.addon.charts.model.Marker) States(com.vaadin.addon.charts.model.States) PlotOptionsArea(com.vaadin.addon.charts.model.PlotOptionsArea) ListSeries(com.vaadin.addon.charts.model.ListSeries) Hover(com.vaadin.addon.charts.model.Hover) AxisTitle(com.vaadin.addon.charts.model.AxisTitle) PlotBand(com.vaadin.addon.charts.model.PlotBand) Chart(com.vaadin.addon.charts.Chart) YAxis(com.vaadin.addon.charts.model.YAxis)

Example 98 with Configuration

use of com.vaadin.addon.charts.model.Configuration in project charts by vaadin.

the class ModifyOnePoint method getChart.

@Override
protected Component getChart() {
    final Chart chart = new Chart();
    chart.setHeight("300px");
    chart.setWidth("100%");
    final Configuration configuration = chart.getConfiguration();
    configuration.setTitle("One point is different");
    configuration.getTooltip().setEnabled(false);
    configuration.getChart().setType(ChartType.SPLINE);
    series = new DataSeries();
    series.add(createBasicPoint(1, 4));
    series.add(new DataSeriesItem(3, 4));
    dataSeriesItem = new DataSeriesItem(4, 4);
    Marker marker = new Marker(true);
    marker.setRadius(10);
    marker.setFillColor(new SolidColor("red"));
    dataSeriesItem.setMarker(marker);
    dataSeriesItem.setName("Special point");
    series.add(dataSeriesItem);
    series.add(new DataSeriesItem(8, 3));
    configuration.setSeries(series);
    chart.drawChart(configuration);
    return chart;
}
Also used : Configuration(com.vaadin.addon.charts.model.Configuration) SolidColor(com.vaadin.addon.charts.model.style.SolidColor) DataSeries(com.vaadin.addon.charts.model.DataSeries) Marker(com.vaadin.addon.charts.model.Marker) Chart(com.vaadin.addon.charts.Chart) DataSeriesItem(com.vaadin.addon.charts.model.DataSeriesItem)

Example 99 with Configuration

use of com.vaadin.addon.charts.model.Configuration in project charts by vaadin.

the class ColumnWithMultiLevelDrilldown method getChart.

@Override
protected Component getChart() {
    final Chart chart = new Chart(ChartType.COLUMN);
    chart.setId("chart");
    final Configuration conf = chart.getConfiguration();
    conf.setTitle("Global happiness index");
    conf.setSubTitle("Source: www.happyplanetindex.org");
    conf.getLegend().setEnabled(false);
    XAxis x = new XAxis();
    x.setType(AxisType.CATEGORY);
    conf.addxAxis(x);
    YAxis y = new YAxis();
    y.setTitle("Total percent market share");
    conf.addyAxis(y);
    PlotOptionsColumn column = new PlotOptionsColumn();
    column.setCursor(Cursor.POINTER);
    column.setDataLabels(new DataLabels(true));
    conf.setPlotOptions(column);
    DataSeries regionsSeries = new DataSeries();
    regionsSeries.setName("Regions");
    PlotOptionsColumn plotOptionsColumn = new PlotOptionsColumn();
    plotOptionsColumn.setColorByPoint(true);
    regionsSeries.setPlotOptions(plotOptionsColumn);
    DataSeriesItem regionItem = new DataSeriesItem("Latin America and Carribean", 60);
    DataSeries countriesSeries = new DataSeries("Countries");
    countriesSeries.setId("Latin America and Carribean Countries");
    DataSeriesItem countryItem = new DataSeriesItem("Costa Rica", 64);
    DataSeries detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details Costa Rica");
    String[] categories = new String[] { "Life Expectancy", "Well-being (0-10)", "Footprint (gha/capita)" };
    Number[] ys = new Number[] { 79.3, 7.3, 2.5 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    countryItem = new DataSeriesItem("Colombia", 59.8);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details Colombia");
    ys = new Number[] { 73.7, 6.4, 1.8 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    countryItem = new DataSeriesItem("Belize", 59.3);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details Belize");
    ys = new Number[] { 76.1, 6.5, 2.1 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    countryItem = new DataSeriesItem("El Salvador", 58.9);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details El Salvador");
    ys = new Number[] { 72.2, 6.7, 2.0 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    regionsSeries.addItemWithDrilldown(regionItem, countriesSeries);
    regionItem = new DataSeriesItem("Western Nations", 50);
    countriesSeries = new DataSeries("Countries");
    countriesSeries.setId("Western Nations Countries");
    countryItem = new DataSeriesItem("New Zealand", 51.6);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details New Zealand");
    ys = new Number[] { 80.7, 7.2, 4.3 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    countryItem = new DataSeriesItem("Norway", 51.4);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details Norway");
    ys = new Number[] { 81.1, 7.6, 4.8 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    countryItem = new DataSeriesItem("Switzerland", 50.3);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details Switzerland");
    ys = new Number[] { 82.3, 7.5, 5.0 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    countryItem = new DataSeriesItem("United Kingdom", 47.9);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details United Kingdom");
    ys = new Number[] { 80.2, 7.0, 4.7 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    regionsSeries.addItemWithDrilldown(regionItem, countriesSeries);
    regionItem = new DataSeriesItem("Western Nations", 50);
    countriesSeries = new DataSeries("Countries");
    countriesSeries.setId("Western Nations Countries");
    countryItem = new DataSeriesItem("New Zealand", 51.6);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details New Zealand");
    ys = new Number[] { 80.7, 7.2, 4.3 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    countryItem = new DataSeriesItem("Norway", 51.4);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details Norway");
    ys = new Number[] { 81.1, 7.6, 4.8 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    countryItem = new DataSeriesItem("Switzerland", 50.3);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details Switzerland");
    ys = new Number[] { 82.3, 7.5, 5.0 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    countryItem = new DataSeriesItem("United Kingdom", 47.9);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details United Kingdom");
    ys = new Number[] { 80.2, 7.0, 4.7 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    regionsSeries.addItemWithDrilldown(regionItem, countriesSeries);
    regionItem = new DataSeriesItem("Middle East and North Africa", 53);
    countriesSeries = new DataSeries("Countries");
    countriesSeries.setId("Middle East and North Africa Countries");
    countryItem = new DataSeriesItem("Israel", 55.2);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details Israel");
    ys = new Number[] { 81.6, 7.4, 4.0 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    countryItem = new DataSeriesItem("Algeria", 52.2);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details Algeria");
    ys = new Number[] { 73.1, 5.2, 1.6 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    countryItem = new DataSeriesItem("Jordan", 51.7);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details Jordan");
    ys = new Number[] { 73.4, 5.7, 2.1 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    countryItem = new DataSeriesItem("Palestine", 51.2);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details Palestine");
    ys = new Number[] { 72.8, 4.8, 1.4 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    regionsSeries.addItemWithDrilldown(regionItem, countriesSeries);
    regionItem = new DataSeriesItem("Sub-Saharan Africa", 42);
    countriesSeries = new DataSeries("Countries");
    countriesSeries.setId("Sub-Saharan Africa Countries");
    countryItem = new DataSeriesItem("Madagascar", 51.6);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details Madagascar");
    ys = new Number[] { 66.7, 4.6, 1.2 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    countryItem = new DataSeriesItem("Malawi", 42.5);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details Malawi");
    ys = new Number[] { 54.2, 5.1, 0.8 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    countryItem = new DataSeriesItem("Ghana", 40.3);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details Ghana");
    ys = new Number[] { 64.2, 4.6, 1.7 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    countryItem = new DataSeriesItem("Ethiopia", 39.2);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details Ethiopia");
    ys = new Number[] { 59.3, 4.4, 1.1 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    regionsSeries.addItemWithDrilldown(regionItem, countriesSeries);
    regionItem = new DataSeriesItem("South Asia", 53);
    countriesSeries = new DataSeries("Countries");
    countriesSeries.setId("South Asia Countries");
    countryItem = new DataSeriesItem("Bangladesh", 56.3);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details Bangladesh");
    ys = new Number[] { 68.9, 5.0, 0.7 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    countryItem = new DataSeriesItem("Pakistan", 54.1);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details Pakistan");
    ys = new Number[] { 65.4, 5.3, 0.8 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    countryItem = new DataSeriesItem("India", 50.9);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details India");
    ys = new Number[] { 65.4, 5.0, 0.9 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    countryItem = new DataSeriesItem("Sri Lanka", 51.2);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details Sri Lanka");
    ys = new Number[] { 74.9, 4.2, 1.2 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    regionsSeries.addItemWithDrilldown(regionItem, countriesSeries);
    regionItem = new DataSeriesItem("East Asia", 55);
    countriesSeries = new DataSeries("Countries");
    countriesSeries.setId("East Asia Countries");
    countryItem = new DataSeriesItem("Vietnam", 60.4);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details Vietnam");
    ys = new Number[] { 75.2, 5.8, 1.4 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    countryItem = new DataSeriesItem("Indonesia", 55.5);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details Indonesia");
    ys = new Number[] { 69.4, 5.5, 1.1 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    countryItem = new DataSeriesItem("Thailand", 53.5);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details Thailand");
    ys = new Number[] { 74.1, 6.2, 2.4 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    countryItem = new DataSeriesItem("Philippines", 52.4);
    detailsSeries = new DataSeries("Details");
    detailsSeries.setId("Details Philippines");
    ys = new Number[] { 68.7, 4.9, 1.0 };
    detailsSeries.setData(categories, ys);
    countriesSeries.addItemWithDrilldown(countryItem, detailsSeries);
    regionsSeries.addItemWithDrilldown(regionItem, countriesSeries);
    conf.addSeries(regionsSeries);
    return chart;
}
Also used : DataLabels(com.vaadin.addon.charts.model.DataLabels) Configuration(com.vaadin.addon.charts.model.Configuration) PlotOptionsColumn(com.vaadin.addon.charts.model.PlotOptionsColumn) DataSeries(com.vaadin.addon.charts.model.DataSeries) Chart(com.vaadin.addon.charts.Chart) XAxis(com.vaadin.addon.charts.model.XAxis) DataSeriesItem(com.vaadin.addon.charts.model.DataSeriesItem) YAxis(com.vaadin.addon.charts.model.YAxis)

Example 100 with Configuration

use of com.vaadin.addon.charts.model.Configuration in project charts by vaadin.

the class ColumnWithNativeDrilldownMultipleSeries method getChart.

@Override
protected Component getChart() {
    Chart chart = new Chart(ChartType.COLUMN);
    chart.setId("chart");
    Configuration conf = chart.getConfiguration();
    conf.setTitle("Browser market share, April, 2011");
    conf.setSubTitle("Click the columns to view versions. Click again to view brands.");
    conf.getLegend().setEnabled(false);
    XAxis x = new XAxis();
    x.setType(AxisType.CATEGORY);
    conf.addxAxis(x);
    YAxis y = new YAxis();
    y.setTitle("Total percent market share");
    conf.addyAxis(y);
    PlotOptionsColumn column = new PlotOptionsColumn();
    column.setCursor(Cursor.POINTER);
    column.setDataLabels(new DataLabels(true));
    column.getDataLabels().setFormatter("this.y +'%'");
    conf.setPlotOptions(column);
    Tooltip tooltip = new Tooltip();
    tooltip.setHeaderFormat("<span style=\"font-size:11px\">{series.name}</span><br>");
    tooltip.setPointFormat("<span style=\"color:{point.color}\">{point.name}</span>: <b>{point.y:.2f}%</b> of total<br/>");
    conf.setTooltip(tooltip);
    createSeriesAndDrilldown(conf, 1);
    createSeriesAndDrilldown(conf, 2);
    return chart;
}
Also used : DataLabels(com.vaadin.addon.charts.model.DataLabels) Configuration(com.vaadin.addon.charts.model.Configuration) PlotOptionsColumn(com.vaadin.addon.charts.model.PlotOptionsColumn) Tooltip(com.vaadin.addon.charts.model.Tooltip) Chart(com.vaadin.addon.charts.Chart) XAxis(com.vaadin.addon.charts.model.XAxis) YAxis(com.vaadin.addon.charts.model.YAxis)

Aggregations

Configuration (com.vaadin.addon.charts.model.Configuration)257 Chart (com.vaadin.addon.charts.Chart)196 YAxis (com.vaadin.addon.charts.model.YAxis)100 DataSeries (com.vaadin.addon.charts.model.DataSeries)72 ListSeries (com.vaadin.addon.charts.model.ListSeries)70 XAxis (com.vaadin.addon.charts.model.XAxis)65 Test (org.junit.Test)58 SolidColor (com.vaadin.addon.charts.model.style.SolidColor)56 AxisTitle (com.vaadin.addon.charts.model.AxisTitle)54 DataSeriesItem (com.vaadin.addon.charts.model.DataSeriesItem)51 Tooltip (com.vaadin.addon.charts.model.Tooltip)42 DataLabels (com.vaadin.addon.charts.model.DataLabels)41 Legend (com.vaadin.addon.charts.model.Legend)30 PlotOptionsColumn (com.vaadin.addon.charts.model.PlotOptionsColumn)30 PlotOptionsLine (com.vaadin.addon.charts.model.PlotOptionsLine)27 Elements (org.jsoup.select.Elements)27 Marker (com.vaadin.addon.charts.model.Marker)22 DesignContext (com.vaadin.ui.declarative.DesignContext)22 Element (org.jsoup.nodes.Element)22 PlotOptionsPie (com.vaadin.addon.charts.model.PlotOptionsPie)20