Directory

← Back

Invient Charts

Elegant interactive charts without browser plugins for Vaadin 6.

Author

Contributors

Rating

Invient Charts is a Vaadin 6 add-on for creating interactive charts. For charting in Vaadin 7, see http://vaadin.com/add-ons/charts.

Supported chart types in Invient Charts are:

  • Line
  • Spline
  • Scatter
  • Area - Line
  • Area - Spline
  • Bar
  • Column
  • Pie
  • Compound -- i.e., a chart that combines multiple types into one.

FEATURES

  • SVG-based rendering (VML on IE) on desktop and mobile browsers.
  • Dynamically add or remove series, axes, or points.
  • Multiple y or x axes in a graph.
  • Inverted chart or reversed axis.
  • Customizable tooltip labels when mousing over a point or series.
  • Rotatable text labels for points and axis titles.
  • Click+drag or Touch+drag zooming.
  • Server-side events upon user interaction.

PREREQUISITES Invient Charts is a Vaadin wrapper for Highcharts, a JavaScript library. Rendering of the charts on the browser is performed by Highcharts. Invient Charts exposes Highcharts' features to Vaadin programmers via a server-side API.

LICENSE Invient Charts is licensed under Apache License 2.0. However, it requires Highcharts JavaScript library which is licensed under separate terms: http://www.highcharts.com/license. You must, therefore, adhere to both licenses to use Invient Charts in your application.

DEMO DATA The Vaadin demo application of Invient Charts mimics the format and data of Highcharts Demo Gallery at http://www.highcharts.com/demo/.

Sample code

        InvientChartConfig chartConfig = new InvientChartConfig();
        chartConfig.getGeneralChartConfig().setType(SeriesType.COLUMN);

        chartConfig.getTitle().setText("Column chart with negative values");

        CategoryAxis xAxis = new CategoryAxis();
        xAxis.setCategories(Arrays.asList("Apples", "Oranges", "Pears",
                "Grapes", "Bananas"));
        LinkedHashSet<XAxis> xAxesSet = new LinkedHashSet<InvientChartConfig.XAxis>();
        xAxesSet.add(xAxis);
        chartConfig.setXAxes(xAxesSet);

        Tooltip tooltip = new Tooltip();
        tooltip.setFormatterJsFunc("function() {"
                + " return '' + this.series.name +': '+ this.y +''; " + "}");
        chartConfig.setTooltip(tooltip);
        chartConfig.getCredit().setEnabled(false);

        InvientChart invChart = new InvientChart(chartConfig);
        XYSeries seriesData = new XYSeries("John");
        seriesData.setSeriesPoints(getPoints(seriesData, 5, 3, 4, 7, 2));
        invChart.addSeries(seriesData);

        seriesData = new XYSeries("Jane");
        seriesData.setSeriesPoints(getPoints(seriesData, 2, -2, -3, 2, 1));
        invChart.addSeries(seriesData);

        seriesData = new XYSeries("Joe");
        seriesData.setSeriesPoints(getPoints(seriesData, 3, 4, 4, -2, 5));
        invChart.addSeries(seriesData);

        invChart.addListener(new InvientChart.PointClickListener() {

            @Override
            public void pointClick(PointClickEvent pointClickEvent) {
		getApplication().getMainWindow().showNotification("PointX : " + (Double) pointClickEvent.getPoint().getX() + ", PointY : " + (Double) pointClickEvent.getPoint().getY());
            }
        });

Compatibility

(Loading compatibility data...)

Was this helpful? Need more help?
Leave a comment or a question below. You can also join the chat on Discord or ask questions on StackOverflow.

Version

Fixed the following bugs:

  • Set min/max values for chart's axis.
  • Show/hide of a series after creation of the chart.
  • removePoint() method to remove all points instead of only one point.
Released
2011-12-02
Maturity
BETA
License
Apache License 2.0

Compatibility

Framework
Vaadin 6.5+
Browser
N/A
Online