Frequently Asked Questions

the java api for highcharts

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, all in Java.

The JavaScript chart options are generated from your Java application using the HyJavaCharts (or HyJavaStock or HyJavaApex) library.
The JavaScript chart options may also be generated by other means.

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.

To render Highcharts charts, a commercial or free Non-commercial license is required for the Highcharts JavaScript library.
To render Highcharts Stock charts, a commercial or free Non-commercial license is required for the Highcharts Stock JavaScript library.

Please refer to Highcharts license page for further details.

Note:
Usage of the actual HyJavaCharts library does not require a Highcharts license.
Usage of the actual HyJavaStock library does not require a Highcharts Stock license.

To render Highcharts chart images, the HyJavaImages library requires a commercial or free Non-commercial license for the Highcharts JavaScript library.

To render Highcharts Stock chart images, the HyJavaImages library requires a commercial or free Non-commercial license for the Highcharts Stock JavaScript library.

Please refer to the Highcharts license page for further details.

A license is not required.

The ApexCharts JavaScript library 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 v10.1.0 and can now see there are more recent versions available.
How do I get the updates?


A HyJavaCharts v10.x.x license entitles you to free updates for all future HyJavaCharts v10.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, HyJavaApex, HyJavaImages and HyJavaImages HTTP Server libraries require 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);

The Java API’s fully support all chart types and chart options in Highcharts v5.x, v6.x, v7.x, v8.x, v9.x;  Highcharts Stock v8.x, v9.x and ApexCharts v3.x.


Current versions supported are:

HyJavaCharts

HyJavaStock

HyJavaApex

Start the HyJavaCharts demo Java web application


Start the HyJavaStock demo Java web application


Start the HyJavaApex demo Java web application


Start the HyJavaImages demo Java web application