PacktLib: Highcharts Cookbook

Highcharts Cookbook


About the Author

About the Reviewers


Getting Started with Highcharts


Finding documentation on Highcharts

Creating your first chart

Including multiple series in one chart

Displaying multiple charts in one graph

Using the same data in multiple charts

Creating spiderweb graphs for comparison

Creating custom tooltips

Adding extra content to tooltips

Making charts internationalizable/localizable

Creating a new theme

Creating reusable graphs

Processing Data


Working with different data formats

Using AJAX for polling charts

Using WebSockets for real-time updates

Drilling down and filtering data

Using CSV, XML, or JSON with Highcharts

Handling cross-domain data

Handling dates

Handling User Interaction


Creating a simple poll

Making graphs zoomable

Creating master details graphs

Slicing and dicing time data

Annotating a chart

Developing dynamic tooltips

Taking actions on other events

Adding events after the chart is rendered

Sharing Charts on the Web


Rendering charts on the server side

Exporting images to different formats

E-mailing static charts

E-mailing dynamic charts

Preparing charts for printing

Integrating with ExtJS


Setting up a simple ExtJS project

Using Highcharts in ExtJS

Connecting your chart using

Observing live data using other Store types

Connecting your chart to

Creating charts that inherit from other charts

Integrating with jQuery


Creating charts with jQuery

Using the data- attributes to load charts

Binding events using jQuery.on

Handling user interaction with jQuery

Updating a chart on the backend

Using jQuery UI tabs and Highcharts

Modifying charts using jQuery UI widgets

Putting charts in pages using jQuery Mobile

Integrating with the Yii Framework


Setting up a simple Yii project

Creating a chart from model data

Generating a chart with a Yii CLI command

Creating charts with a RESTful controller

Updating the model when the chart changes

Integrating with Other Frameworks


Using NodeJS as a data provider

Using Django as a data provider

Using Flask/Bottle as a data provider

Integrating with Backbone

Using AngularJS data bindings and controllers

Using NodeJS for chart rendering

Extending Highcharts


Wrapping existing functions

Creating new chart types

Creating your own Highcharts extension

Adding new functions to your extension

JSHinting your code

Unit testing your new extension

Packaging your extension

Minifying your code

Math and Statistics


Graphing equations

Showing descriptive statistics with box plots

Plotting distributions with jStat

Displaying experimental data with scatter plots

Displaying percentiles with area range graphs

System Integration


Exploring hard drive usage

Understanding CPU and memory usage graphs

Showing Git commits by contributor

Showing Git commits over time

Other Inspirational Uses


Demonstrating time zones with gauge charts

Exploring a Highcharts stopwatch

Counting words per minute

Measuring the distance travelled

Plotting tweets per day

Creating a compass

Creating a weight-watching application