use of com.vaadin.addon.charts.model.ListSeries in project charts by vaadin.
the class SerializationTest method serializeChart_configurationWithDrilldown_drilldownConfigurationLinkSerializedCorrectly.
@Test
public void serializeChart_configurationWithDrilldown_drilldownConfigurationLinkSerializedCorrectly() 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);
Drilldown outputDrilldown = output.getConfiguration().getDrilldown();
assertNotNull("Drilldown configuration link was null after serialization", outputDrilldown.getConfiguration());
}
use of com.vaadin.addon.charts.model.ListSeries in project charts by vaadin.
the class ConfigurationObjectJSONSerializationTest method toJSON_seriesWithLinePlotOptions_PlotOptionsAndTypeFlattenedToSeriesLevel.
@Test
public void toJSON_seriesWithLinePlotOptions_PlotOptionsAndTypeFlattenedToSeriesLevel() {
PlotOptionsLine lineOptions = new PlotOptionsLine();
lineOptions.setAnimation(true);
ListSeries series = new ListSeries();
series.setPlotOptions(lineOptions);
assertEquals("{\"animation\":true,\"data\":[],\"type\":\"line\"}", toJSON(series));
}
use of com.vaadin.addon.charts.model.ListSeries in project charts by vaadin.
the class SplineWithPlotBands method getChart.
@SuppressWarnings("deprecation")
@Override
protected Component getChart() {
Chart chart = new Chart();
chart.setHeight("450px");
chart.setWidth("100%");
Configuration configuration = chart.getConfiguration();
configuration.getChart().setType(ChartType.SPLINE);
configuration.getTitle().setText("Wind speed during two days");
configuration.getSubTitle().setText("October 6th and 7th 2009 at two locations in Vik i Sogn, Norway");
configuration.getxAxis().setType(AxisType.DATETIME);
YAxis yAxis = configuration.getyAxis();
yAxis.setTitle(new AxisTitle("Wind speed (m/s)"));
yAxis.setMin(0);
yAxis.setMinorGridLineWidth(0);
yAxis.setGridLineWidth(0);
// disable alternate grid color from Vaadin theme, disturbs
// demonstrating plotbands
yAxis.setAlternateGridColor(TRANSPARENT);
Style style = new Style();
style.setColor(LIGHT_GRAY);
final PlotBand lightAir = new PlotBand();
lightAir.setFrom(0.3);
lightAir.setTo(1.5);
lightAir.setColor(LIGHT_BLUE);
lightAir.setLabel(new Label("Light air"));
lightAir.getLabel().setStyle(style);
final PlotBand lightBreeze = new PlotBand();
lightBreeze.setFrom(1.5);
lightBreeze.setTo(3.3);
lightBreeze.setColor(TRANSPARENT);
lightBreeze.setLabel(new Label("Light breeze"));
lightBreeze.getLabel().setStyle(style);
final PlotBand gentleBreeze = new PlotBand();
gentleBreeze.setFrom(3.3);
gentleBreeze.setTo(5.5);
gentleBreeze.setColor(LIGHT_BLUE);
gentleBreeze.setLabel(new Label("Gentle breeze"));
gentleBreeze.getLabel().setStyle(style);
final PlotBand moderateBreeze = new PlotBand();
moderateBreeze.setFrom(5.5);
moderateBreeze.setTo(8);
moderateBreeze.setColor(TRANSPARENT);
moderateBreeze.setLabel(new Label("Moderate breeze"));
moderateBreeze.getLabel().setStyle(style);
final PlotBand freshBreeze = new PlotBand();
freshBreeze.setFrom(8);
freshBreeze.setTo(11);
freshBreeze.setColor(LIGHT_BLUE);
freshBreeze.setLabel(new Label("Fresh breeze"));
freshBreeze.getLabel().setStyle(style);
final PlotBand strongBreeze = new PlotBand();
strongBreeze.setFrom(11);
strongBreeze.setTo(14);
strongBreeze.setColor(TRANSPARENT);
strongBreeze.setLabel(new Label("Strong breeze"));
strongBreeze.getLabel().setStyle(style);
final PlotBand highWind = new PlotBand();
highWind.setFrom(14);
highWind.setTo(15);
highWind.setColor(LIGHT_BLUE);
highWind.setLabel(new Label("High wind"));
highWind.getLabel().setStyle(style);
yAxis.setPlotBands(lightAir, lightBreeze, gentleBreeze, moderateBreeze, freshBreeze, strongBreeze, highWind);
configuration.getTooltip().setFormatter("Highcharts.dateFormat('%e. %b %Y, %H:00', this.x) +': '+ this.y +' m/s'");
PlotOptionsSpline plotOptions = new PlotOptionsSpline();
configuration.setPlotOptions(plotOptions);
plotOptions.setMarker(new Marker(false));
plotOptions.getMarker().setLineWidth(4);
plotOptions.getMarker().setSymbol(MarkerSymbolEnum.CIRCLE);
States states = new States();
Hover hover = new Hover(true);
hover.setRadius(5);
hover.setLineWidth(1);
states.setHover(hover);
plotOptions.getMarker().setStates(states);
plotOptions.setPointInterval(ONE_HOUR);
LocalDate date = LocalDate.of(2009, 9, 6);
plotOptions.setPointStart(date.atStartOfDay().toInstant(ZoneOffset.UTC));
ListSeries ls = new ListSeries();
ls.setName("Hestavollane");
ls.setData(4.3, 5.1, 4.3, 5.2, 5.4, 4.7, 3.5, 4.1, 5.6, 7.4, 6.9, 7.1, 7.9, 7.9, 7.5, 6.7, 7.7, 7.7, 7.4, 7.0, 7.1, 5.8, 5.9, 7.4, 8.2, 8.5, 9.4, 8.1, 10.9, 10.4, 10.9, 12.4, 12.1, 9.5, 7.5, 7.1, 7.5, 8.1, 6.8, 3.4, 2.1, 1.9, 2.8, 2.9, 1.3, 4.4, 4.2, 3.0, 3.0);
configuration.addSeries(ls);
ls = new ListSeries();
ls.setName("Voll");
ls.setData(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.1, 0.0, 0.3, 0.0, 0.0, 0.4, 0.0, 0.1, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.6, 1.2, 1.7, 0.7, 2.9, 4.1, 2.6, 3.7, 3.9, 1.7, 2.3, 3.0, 3.3, 4.8, 5.0, 4.8, 5.0, 3.2, 2.0, 0.9, 0.4, 0.3, 0.5, 0.4);
configuration.addSeries(ls);
chart.drawChart(configuration);
return chart;
}
use of com.vaadin.addon.charts.model.ListSeries in project charts by vaadin.
the class TimeSeriesIntervalUnit method getChart.
@Override
protected Component getChart() {
final Chart chart = new Chart();
chart.setHeight("450px");
chart.setWidth("100%");
Configuration configuration = chart.getConfiguration();
configuration.getChart().setSpacingRight(20);
configuration.getTitle().setText("Point interval test");
configuration.getxAxis().setType(AxisType.DATETIME);
final PlotOptionsSeries plotOptions = new PlotOptionsSeries();
try {
DateFormat df = new SimpleDateFormat("yyyyMMdd");
plotOptions.setPointStart(df.parse("20150101"));
} catch (ParseException e) {
e.printStackTrace();
}
plotOptions.setPointInterval(1);
plotOptions.setPointIntervalUnit(IntervalUnit.MONTH);
configuration.setPlotOptions(plotOptions);
ListSeries ls = new ListSeries();
ls.setData(29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4);
configuration.setSeries(ls);
VerticalLayout layout = new VerticalLayout();
layout.setSpacing(false);
layout.setMargin(false);
layout.addComponent(chart);
layout.addComponent(new Button("one day interval", new Button.ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
plotOptions.setPointInterval(24 * 3600 * 1000);
plotOptions.setPointIntervalUnit(null);
chart.drawChart();
}
}));
return layout;
}
use of com.vaadin.addon.charts.model.ListSeries in project charts by vaadin.
the class TimeSeriesZoomable method getChart.
@Override
protected Component getChart() {
Chart chart = new Chart();
chart.setHeight("450px");
chart.setWidth("100%");
Color[] colors = getThemeColors();
Configuration configuration = chart.getConfiguration();
configuration.getChart().setZoomType(ZoomType.X);
configuration.getChart().setSpacingRight(20);
configuration.getTitle().setText("USD to EUR exchange rate from 2006 through 2008");
String title = Page.getCurrent().getWebBrowser().isTouchDevice() ? "Drag your finger over the plot to zoom in" : "Click and drag in the plot area to zoom in";
configuration.getSubTitle().setText(title);
configuration.getxAxis().setType(AxisType.DATETIME);
configuration.getxAxis().setMinRange(TWO_WEEKS);
configuration.getxAxis().setTitle(new AxisTitle(""));
configuration.getLegend().setEnabled(false);
YAxis yAxis = configuration.getyAxis();
yAxis.setTitle(new AxisTitle("Exchange rate"));
yAxis.setMin(0.6);
yAxis.setStartOnTick(false);
yAxis.setShowFirstLabel(false);
configuration.getTooltip().setShared(true);
PlotOptionsArea plotOptions = new PlotOptionsArea();
GradientColor fillColor = GradientColor.createLinear(0, 0, 0, 1);
fillColor.addColorStop(0, (SolidColor) colors[0]);
fillColor.addColorStop(1, (SolidColor) colors[8]);
plotOptions.setFillColor(fillColor);
plotOptions.setLineWidth(1);
plotOptions.setShadow(false);
Marker marker = new Marker();
marker.setEnabled(false);
Hover hoverState = new Hover(true);
hoverState.setRadius(5);
States states = new States();
states.setHover(hoverState);
marker.setStates(states);
Hover hoverStateForArea = new Hover(true);
hoverStateForArea.setLineWidth(1);
States statesForArea = new States();
statesForArea.setHover(hoverStateForArea);
plotOptions.setStates(statesForArea);
plotOptions.setMarker(marker);
plotOptions.setShadow(false);
configuration.setPlotOptions(plotOptions);
SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd");
ListSeries ls = new ListSeries();
PlotOptionsArea options = new PlotOptionsArea();
options.setPointInterval(DAY_IN_MILLIS);
ls.setPlotOptions(options);
ls.setName("USD to EUR");
try {
options.setPointStart(df.parse("2006/01/02").getTime());
} catch (ParseException e) {
e.printStackTrace();
}
ls.setData(USD_TO_EUR_EXCHANGE_RATES);
configuration.setSeries(ls);
chart.drawChart(configuration);
return chart;
}
Aggregations