Search in sources :

Example 16 with PlotOptionsColumn

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

the class ToggledSeriesVisibility method getChart.

@Override
protected Component getChart() {
    chart = new Chart(ChartType.COLUMN);
    Configuration conf = chart.getConfiguration();
    conf.setTitle("Monthly Average Rainfall");
    conf.setSubTitle("Source: WorldClimate.com");
    XAxis x = new XAxis();
    x.setCategories("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
    conf.addxAxis(x);
    YAxis y = new YAxis();
    y.setMin(0);
    y.setTitle("Rainfall (mm)");
    conf.addyAxis(y);
    Legend legend = new Legend();
    legend.setLayout(LayoutDirection.VERTICAL);
    legend.setBackgroundColor(new SolidColor("#FFFFFF"));
    legend.setAlign(HorizontalAlign.LEFT);
    legend.setVerticalAlign(VerticalAlign.TOP);
    legend.setX(100);
    legend.setY(70);
    legend.setFloating(true);
    legend.setShadow(true);
    conf.setLegend(legend);
    Tooltip tooltip = new Tooltip();
    tooltip.setFormatter("this.x +': '+ this.y +' mm'");
    conf.setTooltip(tooltip);
    PlotOptionsColumn plot = new PlotOptionsColumn();
    plot.setPointPadding(0.2);
    plot.setBorderWidth(0);
    conf.addSeries(tokyo);
    conf.addSeries(newYork);
    conf.addSeries(berlin);
    conf.addSeries(london);
    chart.addLegendItemClickListener(new LegendItemClickListener() {

        @Override
        public void onClick(LegendItemClickEvent event) {
            /*
                 * Visibility of the series is also toggled from legend clicks
                 * by default. Still developers might wish to override this
                 * behavior if the visibility is also controlled by other
                 * components like here or if e.g. multiple charts are bound
                 * together (hiding series in one chart should hide related data
                 * in other chart as well).
                 */
            ListSeries series = (ListSeries) event.getSeries();
            /*
                 * Toggle checked in option group. As a side effect (via value
                 * change listener, see setup method) the visibility will change
                 * in the chart as well.
                 */
            if (series.isVisible()) {
                checkBoxGroup.deselect(series);
            } else {
                checkBoxGroup.select(series);
            }
        }
    });
    chart.drawChart(conf);
    return chart;
}
Also used : LegendItemClickListener(com.vaadin.addon.charts.LegendItemClickListener) Legend(com.vaadin.addon.charts.model.Legend) Configuration(com.vaadin.addon.charts.model.Configuration) PlotOptionsColumn(com.vaadin.addon.charts.model.PlotOptionsColumn) LegendItemClickEvent(com.vaadin.addon.charts.LegendItemClickEvent) ListSeries(com.vaadin.addon.charts.model.ListSeries) Tooltip(com.vaadin.addon.charts.model.Tooltip) SolidColor(com.vaadin.addon.charts.model.style.SolidColor) Chart(com.vaadin.addon.charts.Chart) XAxis(com.vaadin.addon.charts.model.XAxis) YAxis(com.vaadin.addon.charts.model.YAxis)

Example 17 with PlotOptionsColumn

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

the class MultipleAxes method getChart.

@Override
protected Component getChart() {
    Chart chart = new Chart();
    Configuration conf = chart.getConfiguration();
    Color[] colors = getThemeColors();
    conf.getChart().setZoomType(ZoomType.XY);
    conf.setTitle("Average Monthly Weather Data for Tokyo");
    conf.setSubTitle("Source: WorldClimate.com");
    XAxis x = new XAxis();
    x.setCategories("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
    conf.addxAxis(x);
    YAxis y1 = new YAxis();
    Labels labels = new Labels();
    labels.setFormatter("return this.value +'°C'");
    Style style = new Style();
    style.setColor(colors[1]);
    labels.setStyle(style);
    y1.setLabels(labels);
    y1.setOpposite(true);
    AxisTitle title = new AxisTitle("Temperature");
    style = new Style();
    style.setColor(colors[1]);
    y1.setTitle(title);
    conf.addyAxis(y1);
    YAxis y2 = new YAxis();
    y2.setGridLineWidth(0);
    title = new AxisTitle("Rainfall");
    style = new Style();
    style.setColor(colors[0]);
    y2.setTitle(title);
    labels = new Labels();
    labels.setFormatter("this.value +' mm'");
    style = new Style();
    style.setColor(colors[0]);
    labels.setStyle(style);
    y2.setLabels(labels);
    conf.addyAxis(y2);
    YAxis y3 = new YAxis();
    y3.setGridLineWidth(0);
    conf.addyAxis(y3);
    title = new AxisTitle("Sea-Level Pressure");
    style = new Style();
    style.setColor(colors[2]);
    y3.setTitle(title);
    labels = new Labels();
    labels.setFormatter("this.value +' mb'");
    style = new Style();
    style.setColor(colors[2]);
    labels.setStyle(style);
    y3.setLabels(labels);
    y3.setOpposite(true);
    chart.drawChart(conf);
    Tooltip tooltip = new Tooltip();
    tooltip.setFormatter("function() { " + "var unit = { 'Rainfall': 'mm', 'Temperature': '°C', 'Sea-Level Pressure': 'mb' }[this.series.name];" + "return ''+ this.x +': '+ this.y +' '+ unit; }");
    conf.setTooltip(tooltip);
    Legend legend = new Legend();
    legend.setLayout(LayoutDirection.VERTICAL);
    legend.setAlign(HorizontalAlign.LEFT);
    legend.setX(120);
    legend.setVerticalAlign(VerticalAlign.TOP);
    legend.setY(80);
    legend.setFloating(true);
    conf.setLegend(legend);
    DataSeries series = new DataSeries();
    PlotOptionsColumn plotOptionsColumn = new PlotOptionsColumn();
    plotOptionsColumn.setColor(colors[0]);
    series.setPlotOptions(plotOptionsColumn);
    series.setName("Rainfall");
    series.setyAxis(1);
    series.setData(49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4);
    conf.addSeries(series);
    series = new DataSeries();
    PlotOptionsSpline plotOptionsSpline = new PlotOptionsSpline();
    plotOptionsSpline.setColor(colors[2]);
    series.setPlotOptions(plotOptionsSpline);
    series.setName("Sea-Level Pressure");
    series.setyAxis(2);
    series.setData(1016, 1016, 1015.9, 1015.5, 1012.3, 1009.5, 1009.6, 1010.2, 1013.1, 1016.9, 1018.2, 1016.7);
    conf.addSeries(series);
    series = new DataSeries();
    plotOptionsSpline = new PlotOptionsSpline();
    plotOptionsSpline.setColor(colors[1]);
    series.setPlotOptions(plotOptionsSpline);
    series.setName("Temperature");
    series.setData(7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6);
    conf.addSeries(series);
    chart.drawChart(conf);
    return chart;
}
Also used : Legend(com.vaadin.addon.charts.model.Legend) Configuration(com.vaadin.addon.charts.model.Configuration) Color(com.vaadin.addon.charts.model.style.Color) Tooltip(com.vaadin.addon.charts.model.Tooltip) Labels(com.vaadin.addon.charts.model.Labels) PlotOptionsSpline(com.vaadin.addon.charts.model.PlotOptionsSpline) XAxis(com.vaadin.addon.charts.model.XAxis) PlotOptionsColumn(com.vaadin.addon.charts.model.PlotOptionsColumn) Style(com.vaadin.addon.charts.model.style.Style) DataSeries(com.vaadin.addon.charts.model.DataSeries) AxisTitle(com.vaadin.addon.charts.model.AxisTitle) Chart(com.vaadin.addon.charts.Chart) YAxis(com.vaadin.addon.charts.model.YAxis)

Example 18 with PlotOptionsColumn

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

the class ChartWithExternalContainer method createChart2.

public static Chart createChart2(AbstractSeries container) {
    final Chart chart = new Chart();
    final Configuration configuration = chart.getConfiguration();
    configuration.getChart().setType(ChartType.COLUMN);
    configuration.getTitle().setText("Order item totals");
    configuration.getLegend().setEnabled(false);
    YAxis ax = new YAxis();
    ax.setTitle("");
    configuration.addyAxis(ax);
    PlotOptionsColumn plotOptions = new PlotOptionsColumn();
    configuration.setPlotOptions(plotOptions);
    configuration.setSeries(container);
    chart.drawChart(configuration);
    return chart;
}
Also used : Configuration(com.vaadin.addon.charts.model.Configuration) PlotOptionsColumn(com.vaadin.addon.charts.model.PlotOptionsColumn) Chart(com.vaadin.addon.charts.Chart) YAxis(com.vaadin.addon.charts.model.YAxis)

Example 19 with PlotOptionsColumn

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

the class BeansFromDataProvider method getChart.

@Override
protected Component getChart() {
    ListDataProvider<ClaimsReportItem> dp = DataProvider.ofCollection(getMockData());
    // Create ChartDataSeries
    DataProviderSeries<ClaimsReportItem> series = new DataProviderSeries<>(dp);
    series.setName("Claims");
    series.setPlotOptions(new PlotOptionsColumn());
    series.setY(ClaimsReportItem::getAmount);
    series.setPointName(ClaimsReportItem::getType);
    // Create chart & configuration
    Chart chart = new Chart();
    Configuration configuration = chart.getConfiguration();
    configuration.getTitle().setText("Claim Processing");
    // Create Y Axis
    YAxis y = new YAxis();
    y.setTitle("Amount");
    configuration.addyAxis(y);
    // use category names from beans on x axis instead of index
    configuration.getxAxis().setType(AxisType.CATEGORY);
    configuration.setSeries(series);
    chart.setSizeFull();
    return chart;
}
Also used : DataProviderSeries(com.vaadin.addon.charts.model.DataProviderSeries) Configuration(com.vaadin.addon.charts.model.Configuration) PlotOptionsColumn(com.vaadin.addon.charts.model.PlotOptionsColumn) Chart(com.vaadin.addon.charts.Chart) YAxis(com.vaadin.addon.charts.model.YAxis)

Example 20 with PlotOptionsColumn

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

the class ChartWithExternalDataProvider method createChartDataSeries2.

private DataProviderSeries<Order> createChartDataSeries2(DataProvider<Order, ?> dataProvider) {
    DataProviderSeries<Order> chartDS = new DataProviderSeries<>(dataProvider);
    chartDS.setName("Order item prices");
    chartDS.setPlotOptions(new PlotOptionsColumn());
    chartDS.setY(order -> order.getItemPrice().intValue());
    chartDS.setPointName(Order::getDescription);
    return chartDS;
}
Also used : DataProviderSeries(com.vaadin.addon.charts.model.DataProviderSeries) PlotOptionsColumn(com.vaadin.addon.charts.model.PlotOptionsColumn)

Aggregations

PlotOptionsColumn (com.vaadin.addon.charts.model.PlotOptionsColumn)37 Chart (com.vaadin.addon.charts.Chart)34 Configuration (com.vaadin.addon.charts.model.Configuration)30 YAxis (com.vaadin.addon.charts.model.YAxis)28 XAxis (com.vaadin.addon.charts.model.XAxis)26 Tooltip (com.vaadin.addon.charts.model.Tooltip)20 ListSeries (com.vaadin.addon.charts.model.ListSeries)16 DataSeries (com.vaadin.addon.charts.model.DataSeries)13 DataLabels (com.vaadin.addon.charts.model.DataLabels)11 SolidColor (com.vaadin.addon.charts.model.style.SolidColor)11 AxisTitle (com.vaadin.addon.charts.model.AxisTitle)10 Style (com.vaadin.addon.charts.model.style.Style)9 Legend (com.vaadin.addon.charts.model.Legend)8 Title (com.vaadin.addon.charts.model.Title)8 DataSeriesItem (com.vaadin.addon.charts.model.DataSeriesItem)7 Labels (com.vaadin.addon.charts.model.Labels)5 PlotOptionsSpline (com.vaadin.addon.charts.model.PlotOptionsSpline)5 DrilldownCallback (com.vaadin.addon.charts.DrilldownCallback)4 DrilldownEvent (com.vaadin.addon.charts.DrilldownEvent)4 DataProviderSeries (com.vaadin.addon.charts.model.DataProviderSeries)4