Frequently Asked Questions

the java api for highcharts

30 day evaluation versions of the HyJavaCharts, HyJavaStock and HyJavaApex 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 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 valid Highcharts license is required to use the HyJavaCharts library with Highcharts.
A valid Highcharts Stock license is required to use the HyJavaStock library with Highcharts Stock .

Highsoft also provide the option of a free Non-commercial license.

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


A HyJavaCharts v8.x.x license entitles you to free updates for all future HyJavaCharts v8.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.

  • Go to the PRICING page for your required product and press the BUY button for your selected license type.
  • Choose the version of the product from the Available Library Downloads list.
  • Per Developer License:   Enter the number of developer licenses required and click the Add to Cart button.
    Enterprise License:   Click the Add to Cart button.
  • Click the Checkout button which will take you to the checkout page.
  • Enter your email address and name details and click on the Pay Now button.
    You will be redirected to the PayPal site where you can pay with a PayPal account or a credit card secured by PayPal.
  • The Purchase Confirmation page will then be displayed with a link to download your product.
  • A confirmation email will also be sent to the above email address. If you do not receive the email please check your junk/spam folders.

Please retain a copy of the confirmation email for licensing purposes.

Payment Options:
PayPal Payment Options
Payment may be made with your PayPal account or credit card secured by PayPal.

Powered by PayPal

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);

Load More

The Java API’s fully support all chart types and chart options in Highcharts v5.x, v6.x, v7.x, v8.x;  Highcharts Stock v8.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