Frequently Asked Questions

the highcharts java api

A 30 day evaluation version of the HyJavaCharts library is available to ensure the library meets your requirements.
Go to the Library Evaluation page where you can download the evaluation version.

You can generate charts without a browser using the HyJavaCharts Library and the Highcharts Node.js Export Server.

Highcharts provides a Node.js Export Server which operates as a HTTP server.
It converts Highcharts charts to static image files. It supports PNG, JPEG, SVG, and PDF output; and the input can be either SVG, or JSON-formatted chart options. Further information is available from the links below.

You have the option to send requests to the Highcharts provided public Export Server or install your own private Export Server.

The Javascript chart options can be generated from your Java application using the HyJavacharts library and then sent to the Export Server where they are converted to images and returned to your application.

Our Demo page has a link to a demonstration application that generates chart images using HyJavaCharts and the Node.js Server.

For more information on the Highcharts Node.js Export Server refer to the following links:
https://github.com/highcharts/node-export-server/blob/master/README.md
https://www.highcharts.com/docs/export-module/render-charts-serverside
https://www.highcharts.com/docs/export-module/setting-up-the-server

You have the choice to use method names to set each chart option that closely match the Highcharts Javascript API or use the method names that follow the Java getter/setter naming convention.

Its totally up to you to use the naming convention you are most comfortable with.

Javascript:

chart: { type: 'bar' }

Java:

chartOptions.chart().type(ChartType.BAR);

 OR

chartOptions.getChart().setType(ChartType.BAR);

At this stage we only support the Highcharts product.

Having said that, it is on our radar to develop HyJavaStock and HyJavaMaps. We will monitor demand for these products.

I purchased HyJavaCharts v6.0.3 and can now see there are more recent versions available.
How do I get the updates?


A HyJavaCharts v6.x.x license entitles you to free updates for all future HyJavaCharts v6.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 Menu “Downloads” and then “Library Downloads”.
  • Choose your required product(s) from the library downloads list.
  • Enter the number of developer licenses required and click the “Add to Cart” button.
    (To purchase an enterprise license enter 10 which allows for any number of developers in the one Organisation.)
  • 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.
  • 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.

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

The HyJavaCharts library has been compiled with Java 1.8. There are no external dependencies.

The library does use several modules of the Jackson JSON library. The modules are compiled with Java 1.6 and 1.7.
These modules are included in the HyJavaCharts jar so are not external dependencies.

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 an 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.plotOptions().area().dataLabels().allowOverlap(false);

You would not normally need to code:

import com.hyjavacharts.model.highcharts.plotoptions.area.DataLabels;

DataLabels d = new DataLabels();
d.allowOverlap(false);
chartOptions.plotOptions().area().dataLabels(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.series().add(seriesPie);

SeriesColumn seriesColumn = new SeriesColumn ();
...options...
chartOptions.series().add(seriesColumn );

Even though you have used the SeriesPie and SeriesColumn classes you must still set the chart types as shown below.

SeriesPie seriesPie = new SeriesPie();
seriesPie.type(SeriesType.PIE);
...options...
chartOptions.series().add(seriesPie);

SeriesColumn seriesColumn = new SeriesColumn ();
seriesColumn.type(SeriesType.COLUMN);
...options...
chartOptions.series().add(seriesColumn );

Otherwise they will default to Line. This is true for all chart types.
For the usual case of a chart with only 1 type you would specify the type using the chart.type option.

chartOptions.chart().type(ChartType.COLUMN);

Load More

HyJavaCharts

The HyJavaCharts Java API is up to date with the latest version of Highcharts and fully supports all chart types and chart options in Highcharts v5.x and v6.x. Current versions supported are: