Search in sources :

Example 11 with Series

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

the class BasicBar method getChart.

@Override
protected Component getChart() {
    Chart chart = new Chart(ChartType.BAR);
    Configuration conf = chart.getConfiguration();
    conf.setTitle("Historic World Population by Region");
    conf.setSubTitle("Source: Wikipedia.org");
    XAxis x = new XAxis();
    x.setCategories("Africa", "America", "Asia", "Europe", "Oceania");
    x.setTitle((String) null);
    conf.addxAxis(x);
    YAxis y = new YAxis();
    y.setMin(0);
    AxisTitle title = new AxisTitle("Population (millions)");
    title.setAlign(VerticalAlign.MIDDLE);
    y.setTitle(title);
    conf.addyAxis(y);
    Tooltip tooltip = new Tooltip();
    tooltip.setFormatter("this.series.name +': '+ this.y +' millions'");
    conf.setTooltip(tooltip);
    PlotOptionsBar plot = new PlotOptionsBar();
    plot.setDataLabels(new DataLabels(true));
    conf.setPlotOptions(plot);
    Legend legend = new Legend();
    legend.setLayout(LayoutDirection.VERTICAL);
    legend.setAlign(HorizontalAlign.RIGHT);
    legend.setVerticalAlign(VerticalAlign.TOP);
    legend.setX(-100);
    legend.setY(100);
    legend.setFloating(true);
    legend.setBorderWidth(1);
    legend.setBackgroundColor(new SolidColor("#FFFFFF"));
    legend.setShadow(true);
    conf.setLegend(legend);
    conf.disableCredits();
    List<Series> series = new ArrayList<Series>();
    series.add(new ListSeries("Year 1800", 107, 31, 635, 203, 2));
    series.add(new ListSeries("Year 1900", 133, 156, 947, 408, 6));
    series.add(new ListSeries("Year 2008", 973, 914, 4054, 732, 34));
    conf.setSeries(series);
    chart.drawChart(conf);
    return chart;
}
Also used : Legend(com.vaadin.addon.charts.model.Legend) DataLabels(com.vaadin.addon.charts.model.DataLabels) Configuration(com.vaadin.addon.charts.model.Configuration) Tooltip(com.vaadin.addon.charts.model.Tooltip) ArrayList(java.util.ArrayList) SolidColor(com.vaadin.addon.charts.model.style.SolidColor) PlotOptionsBar(com.vaadin.addon.charts.model.PlotOptionsBar) XAxis(com.vaadin.addon.charts.model.XAxis) Series(com.vaadin.addon.charts.model.Series) ListSeries(com.vaadin.addon.charts.model.ListSeries) ListSeries(com.vaadin.addon.charts.model.ListSeries) AxisTitle(com.vaadin.addon.charts.model.AxisTitle) Chart(com.vaadin.addon.charts.Chart) YAxis(com.vaadin.addon.charts.model.YAxis)

Example 12 with Series

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

the class BarWithLegendLabelFormatter method getChart.

@Override
protected Component getChart() {
    Chart chart = new Chart(ChartType.BAR);
    Configuration conf = chart.getConfiguration();
    conf.setTitle("Historic World Population by Region");
    conf.setSubTitle("Source: Wikipedia.org");
    Legend legend = new Legend();
    legend.setLabelFormatter("function() { return this.name + ' (click to hide)'; }");
    conf.setLegend(legend);
    List<Series> series = new ArrayList<Series>();
    series.add(new ListSeries("Year 1800", 107, 31, 635, 203, 2));
    series.add(new ListSeries("Year 1900", 133, 156, 947, 408, 6));
    series.add(new ListSeries("Year 2008", 973, 914, 4054, 732, 34));
    conf.setSeries(series);
    return chart;
}
Also used : ListSeries(com.vaadin.addon.charts.model.ListSeries) Series(com.vaadin.addon.charts.model.Series) Legend(com.vaadin.addon.charts.model.Legend) Configuration(com.vaadin.addon.charts.model.Configuration) ListSeries(com.vaadin.addon.charts.model.ListSeries) ArrayList(java.util.ArrayList) Chart(com.vaadin.addon.charts.Chart)

Example 13 with Series

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

the class ServerSideEvents method createControls.

private Layout createControls() {
    visibilityToggling = new CheckBox("Disable series visibility toggling");
    visibilityToggling.addValueChangeListener(e -> {
        chart.setSeriesVisibilityTogglingDisabled(visibilityToggling.getValue());
    });
    final Button firstSeriesVisible = new Button("Hide first series");
    firstSeriesVisible.setId("hideFirstSeries");
    firstSeriesVisible.addClickListener(new Button.ClickListener() {

        boolean hideSeries = true;

        @Override
        public void buttonClick(Button.ClickEvent event) {
            Series firstSeries = chart.getConfiguration().getSeries().get(0);
            ((AbstractSeries) firstSeries).setVisible(!hideSeries);
            hideSeries = !hideSeries;
            String caption = hideSeries ? "Hide first series" : "Show first series";
            firstSeriesVisible.setCaption(caption);
        }
    });
    Button setExtremes = new Button("Toggle extremes");
    setExtremes.setId("setExtremes");
    setExtremes.addClickListener(new Button.ClickListener() {

        public boolean extremesSet;

        @Override
        public void buttonClick(Button.ClickEvent event) {
            if (extremesSet) {
                chart.getConfiguration().getxAxis().setExtremes(10, 90);
            } else {
                chart.getConfiguration().getxAxis().setExtremes(20, 80);
            }
            extremesSet = !extremesSet;
        }
    });
    final OptionGroup zoomLevels = new OptionGroup("Zoom Type");
    zoomLevels.addItem(ZoomType.XY);
    zoomLevels.addItem(ZoomType.X);
    zoomLevels.addItem(ZoomType.Y);
    zoomLevels.setValue(ZoomType.XY);
    zoomLevels.addValueChangeListener(new Property.ValueChangeListener() {

        @Override
        public void valueChange(Property.ValueChangeEvent event) {
            ZoomType zoom = (ZoomType) zoomLevels.getValue();
            chart.getConfiguration().getChart().setZoomType(zoom);
            chart.drawChart();
        }
    });
    Button resetHistory = new Button("Reset history");
    resetHistory.addClickListener(new Button.ClickListener() {

        @Override
        public void buttonClick(Button.ClickEvent event) {
            lastEvent.setValue(null);
            eventDetails.setValue(null);
            historyLayout.removeAllComponents();
        }
    });
    HorizontalLayout controls = new HorizontalLayout();
    controls.setId("controls");
    controls.setSpacing(true);
    controls.addComponent(visibilityToggling);
    controls.addComponent(firstSeriesVisible);
    controls.addComponent(setExtremes);
    controls.addComponent(zoomLevels);
    controls.addComponent(resetHistory);
    return controls;
}
Also used : ZoomType(com.vaadin.addon.charts.model.ZoomType) HorizontalLayout(com.vaadin.ui.HorizontalLayout) PlotOptionsSeries(com.vaadin.addon.charts.model.PlotOptionsSeries) Series(com.vaadin.addon.charts.model.Series) AbstractSeries(com.vaadin.addon.charts.model.AbstractSeries) DataSeries(com.vaadin.addon.charts.model.DataSeries) OptionGroup(com.vaadin.v7.ui.OptionGroup) Button(com.vaadin.ui.Button) CheckBox(com.vaadin.ui.CheckBox) Property(com.vaadin.v7.data.Property)

Example 14 with Series

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

the class ConfigurationJSONSerializationTest method configurationJSONSerialization_configurationSerializedWithChangeListener_changeListenerNotSerialized.

@Test
public void configurationJSONSerialization_configurationSerializedWithChangeListener_changeListenerNotSerialized() {
    Configuration conf = new Configuration();
    conf.addChangeListener(new ConfigurationChangeListener() {

        @Override
        public void dataAdded(DataAddedEvent event) {
        }

        @Override
        public void drilldownAdded(int seriesIndex, int pointIndex, Series series) {
        }

        @Override
        public void dataRemoved(DataRemovedEvent event) {
        }

        @Override
        public void dataUpdated(DataUpdatedEvent event) {
        }

        @Override
        public void seriesStateChanged(SeriesStateEvent event) {
        }

        @Override
        public void animationChanged(boolean animation) {
        }

        @Override
        public void axisRescaled(AxisRescaledEvent event) {
        }

        @Override
        public void itemSliced(ItemSlicedEvent event) {
        }

        @Override
        public void resetZoom(boolean redraw, boolean animate) {
        }

        @Override
        public void seriesChanged(SeriesChangedEvent event) {
        }
    });
    assertEquals("{\"plotOptions\":{},\"series\":[],\"exporting\":{\"enabled\":false}}", toJSON(conf));
}
Also used : SeriesStateEvent(com.vaadin.addon.charts.events.SeriesStateEvent) Configuration(com.vaadin.addon.charts.model.Configuration) SeriesChangedEvent(com.vaadin.addon.charts.events.SeriesChangedEvent) DataRemovedEvent(com.vaadin.addon.charts.events.DataRemovedEvent) DataAddedEvent(com.vaadin.addon.charts.events.DataAddedEvent) Series(com.vaadin.addon.charts.model.Series) AxisRescaledEvent(com.vaadin.addon.charts.events.AxisRescaledEvent) ConfigurationChangeListener(com.vaadin.addon.charts.events.ConfigurationChangeListener) DataUpdatedEvent(com.vaadin.addon.charts.events.DataUpdatedEvent) ItemSlicedEvent(com.vaadin.addon.charts.events.ItemSlicedEvent) Test(org.junit.Test)

Example 15 with Series

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

the class SerializationTest method serializeChart_configurationWithDrilldown_drilldownSeriesListSerializedCorrectly.

@Test
public void serializeChart_configurationWithDrilldown_drilldownSeriesListSerializedCorrectly() throws IOException, ClassNotFoundException, NoSuchFieldException, IllegalAccessException {
    Chart input = new Chart();
    DataSeries dataSeries = new DataSeries();
    ListSeries drilldownSeries = new ListSeries();
    drilldownSeries.setId("id");
    dataSeries.addItemWithDrilldown(new DataSeriesItem("foobar", 42), drilldownSeries);
    input.getConfiguration().addSeries(dataSeries);
    Chart output = serializeObject(input);
    DataSeries outputSeries = (DataSeries) output.getConfiguration().getSeries().get(0);
    List<Series> outputDrilldownSeries = getPrivateField("drilldownSeries", outputSeries, DataSeries.class);
    assertNotNull("Drilldown series list was null after serialization", outputDrilldownSeries);
    assertThat("Drilldown series list was empty after serialization", outputDrilldownSeries, is(not(empty())));
}
Also used : Series(com.vaadin.addon.charts.model.Series) ListSeries(com.vaadin.addon.charts.model.ListSeries) DataSeries(com.vaadin.addon.charts.model.DataSeries) ListSeries(com.vaadin.addon.charts.model.ListSeries) DataSeries(com.vaadin.addon.charts.model.DataSeries) Chart(com.vaadin.addon.charts.Chart) DataSeriesItem(com.vaadin.addon.charts.model.DataSeriesItem) Test(org.junit.Test)

Aggregations

Series (com.vaadin.addon.charts.model.Series)15 Chart (com.vaadin.addon.charts.Chart)9 ListSeries (com.vaadin.addon.charts.model.ListSeries)9 DataSeries (com.vaadin.addon.charts.model.DataSeries)8 XAxis (com.vaadin.addon.charts.model.XAxis)8 YAxis (com.vaadin.addon.charts.model.YAxis)8 DataLabels (com.vaadin.addon.charts.model.DataLabels)7 Tooltip (com.vaadin.addon.charts.model.Tooltip)7 Configuration (com.vaadin.addon.charts.model.Configuration)6 DrilldownCallback (com.vaadin.addon.charts.DrilldownCallback)5 DrilldownEvent (com.vaadin.addon.charts.DrilldownEvent)5 DataSeriesItem (com.vaadin.addon.charts.model.DataSeriesItem)5 Legend (com.vaadin.addon.charts.model.Legend)5 ArrayList (java.util.ArrayList)5 AxisTitle (com.vaadin.addon.charts.model.AxisTitle)4 PlotOptionsColumn (com.vaadin.addon.charts.model.PlotOptionsColumn)4 SolidColor (com.vaadin.addon.charts.model.style.SolidColor)4 PlotOptionsBar (com.vaadin.addon.charts.model.PlotOptionsBar)3 Test (org.junit.Test)2 ChartDrillupEvent (com.vaadin.addon.charts.ChartDrillupEvent)1