There are three possible reasons why you may be receiving the Chart data could not be parsed
error, either:
The chart type hasn't been declared.
The chart type isn't supported in Geckoboard.
There are errors in the chart's payload.
Investigating each of these should determine where the problem lies. If you're still unable to resolve the issue, please don't hesitate to get in touch.
The chart type hasn't been declared
In Geckoboard, all Highcharts charts must be sent with the chart
property:
{ chart: { type: 'areaspline' } // ...}
If the payload you're sending does not declare the chart type, you'll receive an error while displaying the Highcharts.
The chart type is not supported in Geckoboard
Geckoboard only supports the following Highcharts chart types:
Line
Spline
Area
Areaspline
Column
Bar
Pie
Scatter
If you're using a chart type that isn't listed above and are experiencing an error, this is likely the cause.
There are errors in the chart's payload
If you've declared the chart type and it's a type that Geckoboard supports, then it's most likely that there are errors in the syntax/formatting of your chart's payload.
To find and remove any errors in your Highcharts chart payload, follow these steps
You can use a tool like JSFiddle to find where there are errors in your chart's payload. Here's a JSFiddle setup to use Highcharts. Paste your Highcharts chart payload in place of the
// comment
in the JavaScript section of that JSFiddle and then click Run.If the chart doesn't render, it's likely improperly configured. Using a tool like JSLint can be helpful to find missing brackets or other errors. Further, using an interpreter like Node.js will most quickly spot anything malformed.
If everything appears to be syntactically correct, then the next step would be to consult the Highcharts API to determine if any options or parameter names are defined incorrectly.
Another method is to find one of Highchart's demo charts of the same type you would like to use, and compare it to the chart you have built. This will help you narrow down where the error is.