30 day evaluation versions of the HyJavaCharts, HyJavaStock, HyJavaApex and HyJavaImages libraries are available to ensure the libraries meet your requirements.
Go to the Library Evaluation page where you can download the evaluation version.
The HyJavaImages library allows you to generate chart images (PNG, JPEG, WEBP or PDF) on the server without a browser, all in Java.
The JavaScript chart options are generated from your Java application using the HyJavaCharts (or HyJavaStock, HyJavaApex) library.
The HyJavaImages library then creates the chart image from the chart options.
See the HyJavaImages product page or view a HyJavaImages demonstration Java web application.
A commercial or free Non-commercial license is required to use the Highcharts JavaScript charting library.
A commercial or free Non-commercial license is required to use the Highcharts Stock JavaScript charting library.
Please refer to Highcharts license page for further details.
ApexCharts is an open-source project licensed under MIT and is free to use in commercial applications.
We support both the Highcharts and Highcharts Stock products.
The HyJavaCharts library supports the Highcharts product.
The HyJavaStock library supports the Highcharts Stock product.
We have no plans to support Highcharts Maps .
I purchased HyJavaCharts v9.0.0 and can now see there are more recent versions available.
How do I get the updates?
A HyJavaCharts v9.x.x license entitles you to free updates for all future HyJavaCharts v9.x.x releases.
Go to the Other Downloads page and click on Updates for licensed products.
Enter your email address and receipt number and you will be shown a list of available updates for your product.
Click on the Download button.
The HyJavaCharts, HyJavaStock and HyJavaApex libraries require Java 8 or greater. There are no external dependencies.
The HyJavaImages library requires Java 8 or greater.
Our primary goal is for the Java API to exactly match the Highcharts JavaScript API.
To achieve this we made the decision to map a Java class to each Highcharts parent option. (ie. parent to other options).
For example the DataLabels option appears under each plotOptions type and also each series type.
To map this exactly we created a DataLabels class for each DataLabels option.
When using the library, this is straight forward as you would normally reference an object from its parent class.
For example:
chartOptions.getPlotOptions().getArea().getDataLabels().setAllowOverlap(false);
You would not normally need to code:
import com.hyjavacharts.model.highcharts.plotoptions.area.DataLabels;
DataLabels d = new DataLabels();
d.setAllowOverlap(false);
chartOptions.getPlotOptions().getArea().setDataLabels(d);
I have configured a chart with both column and pie chart types using the SeriesPie and SeriesColumn classes as below, why does the chart display both types as line charts? After all I have specified SeriesPie and SeriesColumn.
SeriesPie seriesPie = new SeriesPie();
...options...
chartOptions.getSeries().add(seriesPie);
SeriesColumn seriesColumn = new SeriesColumn ();
...options...
chartOptions.getSeries().add(seriesColumn );
Even though you have used the SeriesPie and SeriesColumn classes you must still set the chart types as shown below.
Otherwise they will default to Line. This is true for all chart types.
SeriesPie seriesPie = new SeriesPie();
seriesPie.setType(SeriesType.PIE);
...options...
chartOptions.getSeries().add(seriesPie);
SeriesColumn seriesColumn = new SeriesColumn ();
seriesColumn.setType(SeriesType.COLUMN);
...options...
chartOptions.getSeries().add(seriesColumn );
For the usual case of a chart with only 1 type you would specify the type using the chart.type option.
chartOptions.getChart().setType(ChartType.COLUMN);