Highcharts is a JavaScript library for creating interactive charts.
To fully understand this walkthrough, it's necessary to have a basic understanding of Javascript, html, and css.
Some cool things about Highcharts:
Highcharts requires jQuery to work.
A couple ways to install jQuery:
<head>
<script src="/jquery/jquery.min.js"></script>
</head>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>
Same thing as jQuery: You can either download it or point to a CDN served version.
<head>
<script src="/highcharts/highcharts.js"></script>
</head>
<head>
<script src="http://code.highcharts.com/highcharts.js"></script>
</head>
Let's just use the CDN Highcharts version.
Start up a new page with jQuery and Highcharts javascript libraries.
The container
div is used to contain the chart drawn using the Highcharts library
Highcharts library uses very simple configurations using json syntax.
$('#container').highcharts(json);$('#container').highcharts(json);
Here json represents the json data and configuration which HighChart library uses to draw a chart withing container div using highcharts() method. Now we'll configure the various parameter to create the required json string.
Configure the title of the chart.
var title = {
text: 'Monthly Average Temperature'
};
Configure the subtitle of the chart.
var subtitle = {
text: 'Source: WorldClimate.com'
};
Configure the ticker to be displayed on the X-Axis
var xAxis = {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'
,'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
};
Configure the title, plot lines to be displayed on Y-Axis
var yAxis = {
title: {
text: 'Temperature (\xB0C)'
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
};
Configure the tooltip. Put suffix to be added after value (y-axis).
var tooltip = {
valueSuffix: '\xB0C'
}
Configure the legend to be displayed on the right side of the chart along with other properties.
var legend = {
layout: 'vertical',
align: 'right',
verticalAlign: 'middle',
borderWidth: 0
};
Series is an array where each element of this array represents a single line on the chart.
Configure the data to be displayed on the chart.
var series = [
{
name: 'Tokyo',
data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2,
26.5, 23.3, 18.3, 13.9, 9.6]
},
{
name: 'New York',
data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8,
24.1, 20.1, 14.1, 8.6, 2.5]
},
{
name: 'Berlin',
data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6,
17.9, 14.3, 9.0, 3.9, 1.0]
},
{
name: 'London',
data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0,
16.6, 14.2, 10.3, 6.6, 4.8]
}
];
Combine all the configurations.
var json = {};
json.title = title;
json.subtitle = subtitle;
json.xAxis = xAxis;
json.yAxis = yAxis;
json.tooltip = tooltip;
json.legend = legend;
json.series = series;
$('#container').highcharts(json);
Are there more charts you'd like to try out?
Highcharts has great documentation on how to make each chart, as well as many extra advanced options.
Just browse and select the type of chart you'd like to get more information.
Click View Options to see how the Javascript is structured to recreate it.
Click on Edit in JSFiddle to see the full HTML, CSS, and Javascript that recreates it.
Now, just change out the data with the data you have.
Need help on how to do that? Move on to the next lesson: Converting data to JSON format.