@Override protected Component getChart() { Chart chart = new Chart(); Configuration config = chart.getConfiguration(); config.getChart().setType(ChartType.HEATMAP); config.getChart().setMarginTop(40); config.getChart().setMarginBottom(40); config.getTitle().setText("Sales per employee per weekday"); config .getxAxis() .setCategories( "Marta", "Mysia", "Misiek", "Maniek", "Miki", "Guillermo", "Jonatan", "Zdzisław", "Antoni", "Zygmunt"); config.getyAxis().setCategories("Monday", "Tuesday", "Wednesday", "Thursday", "Friday"); config.getColorAxis().setMin(0); config.getColorAxis().setMinColor(SolidColor.WHITE); config.getColorAxis().setMaxColor(getThemeColors()[0]); config.getLegend().setLayout(LayoutDirection.VERTICAL); config.getLegend().setAlign(HorizontalAlign.RIGHT); config.getLegend().setMargin(0); config.getLegend().setVerticalAlign(VerticalAlign.TOP); config.getLegend().setY(25); config.getLegend().setSymbolHeight(320); HeatSeries rs = new HeatSeries("Sales per employee", getRawData()); PlotOptionsHeatmap plotOptionsHeatmap = new PlotOptionsHeatmap(); plotOptionsHeatmap.setDataLabels(new DataLabels()); plotOptionsHeatmap.getDataLabels().setEnabled(true); SeriesTooltip tooltip = new SeriesTooltip(); tooltip.setHeaderFormat("{series.name}<br/>"); tooltip.setPointFormat("Amount: <b>{point.value}</b> "); plotOptionsHeatmap.setTooltip(tooltip); config.setPlotOptions(plotOptionsHeatmap); config.setSeries(rs); chart.drawChart(config); return chart; }
protected Component getChart() { final Chart chart = new Chart(); chart.setWidth("500px"); final Configuration configuration = new Configuration(); configuration.getChart().setType(ChartType.GAUGE); configuration.getChart().setAlignTicks(false); configuration.getChart().setPlotBackgroundColor(null); configuration.getChart().setPlotBackgroundImage(null); configuration.getChart().setPlotBorderWidth(0); configuration.getChart().setPlotShadow(false); configuration.setTitle("Temperature"); configuration.getPane().setStartAngle(-150); configuration.getPane().setEndAngle(150); YAxis yAxis = new YAxis(); yAxis.setMin(-30); yAxis.setMax(50); yAxis.setLineColor(new SolidColor("#339")); yAxis.setTickColor(new SolidColor("#339")); yAxis.setMinorTickColor(new SolidColor("#339")); yAxis.setOffset(-25); yAxis.setLineWidth(2); yAxis.setLabels(new Labels()); yAxis.getLabels().setDistance(-20); yAxis.getLabels().setRotationPerpendicular(); yAxis.setTickLength(5); yAxis.setMinorTickLength(5); yAxis.setEndOnTick(false); configuration.addyAxis(yAxis); final ListSeries series = new ListSeries("Temperature", 12); PlotOptionsGauge plotOptionsGauge = new PlotOptionsGauge(); plotOptionsGauge.setDataLabels(new Labels()); plotOptionsGauge.getDataLabels().setFormatter("function() {return '' + this.y + ' °C';}"); GradientColor gradient = GradientColor.createLinear(0, 0, 0, 1); gradient.addColorStop(0, new SolidColor("#DDD")); gradient.addColorStop(1, new SolidColor("#FFF")); plotOptionsGauge.getDataLabels().setBackgroundColor(gradient); plotOptionsGauge.getTooltip().setValueSuffix(" °C"); series.setPlotOptions(plotOptionsGauge); configuration.setSeries(series); chart.drawChart(configuration); return chart; }
private Chart createChart(int points) { Chart chart = new Chart(ChartType.SCATTER); Configuration conf = chart.getConfiguration(); conf.getChart().setZoomType(ZoomType.XY); conf.disableCredits(); conf.setTitle("Height vs Weight"); conf.setSubTitle("Polygon series in Vaadin Charts."); Tooltip tooltip = conf.getTooltip(); tooltip.setHeaderFormat("{series.name}"); tooltip.setPointFormat("{point.x} cm, {point.y} kg"); XAxis xAxis = conf.getxAxis(); xAxis.setStartOnTick(true); xAxis.setEndOnTick(true); xAxis.setShowLastLabel(true); xAxis.setTitle("Height (cm)"); YAxis yAxis = conf.getyAxis(); yAxis.setTitle("Weight (kg)"); AbstractLinePlotOptions plotOptions = new PlotOptionsScatter(); plotOptions.setThreshold(0); DataSeries scatter = new DataSeries(); scatter.setPlotOptions(plotOptions); scatter.setName("Observations"); fillScatter(scatter, points); conf.addSeries(scatter); return chart; }
@Test @Ignore("Phantomjs not installed on our build server") public void testWide() throws InterruptedException, URISyntaxException { Configuration conf = new Configuration(); conf.getChart().setType(ChartType.COLUMN); conf.getChart().setMarginRight(200); Legend legend = conf.getLegend(); legend.setLayout(LayoutDirection.VERTICAL); legend.setHorizontalAlign(HorizontalAlign.RIGHT); legend.setVerticalAlign(VerticalAlign.MIDDLE); legend.setBorderWidth(0); Random r = new Random(); for (int i = 0; i < 20; i++) { String name = RandomStringUtils.randomAlphabetic(r.nextInt(20)); DataSeries dataSeries = new DataSeries(name); dataSeries.add(new DataSeriesItem(name, r.nextInt(100))); conf.addSeries(dataSeries); } SVGGenerator instance = SVGGenerator.getInstance(); String generatedSVG = instance.generate(conf, 1200, 400); Assert.assertTrue(generatedSVG.contains("width=\"1200\"")); Assert.assertTrue(generatedSVG.contains("height=\"400\"")); SVGGenerator.getInstance().destroy(); }
@Override protected Component getChart() { Chart chart = new Chart(ChartType.LINE); Configuration conf = chart.getConfiguration(); conf.getChart().setPolar(true); conf.setTitle("Budget vs spending"); conf.getTitle().setX(-80); Pane pane = new Pane(); pane.setSize(80, Unit.PERCENTAGE); conf.addPane(pane); XAxis axis = new XAxis(); axis.setCategories( "Sales", "Marketing", "Development", "Customer Support", "Information Technology", "Administration"); axis.setTickmarkPlacement(TickmarkPlacement.ON); axis.setLineWidth(0); YAxis yaxs = new YAxis(); yaxs.setGridLineInterpolation("polygon"); yaxs.setMin(0); yaxs.setLineWidth(0); conf.addxAxis(axis); conf.addyAxis(yaxs); conf.getTooltip().setShared(true); conf.getTooltip().setValuePrefix("$"); conf.getLegend().setAlign(HorizontalAlign.RIGHT); conf.getLegend().setVerticalAlign(VerticalAlign.TOP); conf.getLegend().setY(100); conf.getLegend().setLayout(LayoutDirection.VERTICAL); ListSeries line1 = new ListSeries(43000, 19000, 60000, 35000, 17000, 10000); ListSeries line2 = new ListSeries(50000, 39000, 42000, 31000, 26000, 14000); PlotOptionsLine plotOptions = new PlotOptionsLine(); plotOptions.setPointPlacement(PointPlacement.ON); line1.setPlotOptions(plotOptions); line1.setName("Allocated Budget"); plotOptions = new PlotOptionsLine(); plotOptions.setPointPlacement(PointPlacement.ON); line2.setPlotOptions(plotOptions); line2.setName("Actual Spending"); conf.setSeries(line1, line2); chart.drawChart(conf); return chart; }
@Override protected Component getChart() { Chart chart = new Chart(ChartType.AREA); Configuration conf = chart.getConfiguration(); conf.getChart().setInverted(true); conf.setTitle(new Title("Average fruit consumption during one week")); XAxis xAxis = new XAxis(); xAxis.setCategories( "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"); conf.addxAxis(xAxis); YAxis yAxis = new YAxis(); yAxis.setTitle(new Title("Number of units")); yAxis.setMin(0); conf.addyAxis(yAxis); Legend legend = new Legend(); legend.setLayout(LayoutDirection.VERTICAL); legend.setHorizontalAlign(HorizontalAlign.LEFT); legend.setFloating(true); legend.setVerticalAlign(VerticalAlign.TOP); legend.setX(-150); legend.setY(100); legend.setBorderWidth(1); legend.setBackgroundColor("#ffffff"); conf.setLegend(legend); PlotOptionsArea plotOptions = new PlotOptionsArea(); plotOptions.setFillOpacity(0.5); conf.setPlotOptions(plotOptions); conf.addSeries(new ListSeries("John", 3, 4, 3, 5, 4, 10, 12)); conf.addSeries(new ListSeries("Jane", 1, 3, 4, 3, 3, 5, 4)); chart.drawChart(conf); return chart; }
@Override protected Component getChart() { Chart mychart = new Chart(); Configuration configuration = mychart.getConfiguration(); configuration.getChart().setType(ChartType.COLUMN); configuration.getxAxis().setType(AxisType.CATEGORY); // series have points for different categories, no series is complete // (#13050) configuration.setSeries( new DataSeries(new DataSeriesItem("X", 6)), new DataSeries(new DataSeriesItem("X", 5)), new DataSeries(new DataSeriesItem("Y", 4)), new DataSeries(new DataSeriesItem("X", 3)), new DataSeries(new DataSeriesItem("X", 2)), new DataSeries(new DataSeriesItem("X", 1))); return mychart; }
@Override protected Component getChart() { final Chart chart = new Chart(); chart.setWidth(500, Unit.PIXELS); final Configuration configuration = chart.getConfiguration(); configuration.getChart().setType(ChartType.SOLIDGAUGE); configuration.getTitle().setText("Speed"); Pane pane = new Pane(); pane.setCenter("50%", "85%"); pane.setSize("140%"); pane.setStartAngle(-90); pane.setEndAngle(90); configuration.addPane(pane); configuration.getTooltip().setEnabled(false); Background bkg = new Background(); bkg.setBackgroundColor(new SolidColor("#eeeeee")); bkg.setInnerRadius("60%"); bkg.setOuterRadius("100%"); bkg.setShape("arc"); bkg.setBorderWidth(0); pane.setBackground(new Background[] {bkg}); YAxis yaxis = configuration.getyAxis(); yaxis.setLineWidth(0); yaxis.setTickInterval(200); yaxis.setTickWidth(0); yaxis.setMin(0); yaxis.setMax(200); yaxis.setTitle(new AxisTitle("")); yaxis.getTitle().setY(-70); yaxis.setLabels(new Labels()); yaxis.getLabels().setY(16); Stop stop1 = new Stop(0.1f, SolidColor.GREEN); Stop stop2 = new Stop(0.5f, SolidColor.YELLOW); Stop stop3 = new Stop(0.9f, SolidColor.RED); yaxis.setStops(new Stop[] {stop1, stop2, stop3}); PlotOptionsSolidGauge plotOptions = new PlotOptionsSolidGauge(); plotOptions.setTooltip(new SeriesTooltip()); plotOptions.getTooltip().setValueSuffix(" km/h"); DataLabels labels = new DataLabels(); labels.setY(5); labels.setBorderWidth(0); labels.setUseHTML(true); labels.setFormat( "<div style=\"text-align:center\"><span style=\"font-size:25px;\">{y}</span><br/>" + " <span style=\"font-size:12pxg\">km/h</span></div>"); plotOptions.setDataLabels(labels); configuration.setPlotOptions(plotOptions); final ListSeries series = new ListSeries("Speed", 80); configuration.setSeries(series); runWhileAttached( chart, new Runnable() { Random r = new Random(0); @Override public void run() { Integer oldValue = series.getData()[0].intValue(); Integer newValue = (int) (oldValue + (r.nextDouble() - 0.5) * 20.0); if (newValue > 200) { newValue = 200; } else if (newValue < 0) { newValue = 0; } series.updatePoint(0, newValue); } }, 3000, 12000); chart.drawChart(configuration); return chart; }