How to customize "not enough columns given to draw the requested chart" message?
Asked Answered
F

2

8

Is there any way to customize Google charts to prevent them from displaying this 'red' message? E.g., silently drawing nothing instead?

Filiation answered 9/7, 2013 at 22:56 Comment(0)
R
9

There is a bunch of events, methods and tools google charts / visualization offers for customizing error handling, error messages and so on.

For example, see https://developers.google.com/chart/interactive/docs/reference#errordisplay or https://developers.google.com/chart/interactive/docs/examples#querywrapper

According to what you are asking for, the easiest way would be to simply attach an errorhandler and in that handler, remove the error through google.visualization.errors.

Like this :

function errorHandler(errorMessage) {
    //curisosity, check out the error in the console
    console.log(errorMessage);

    //simply remove the error, the user never see it
    google.visualization.errors.removeError(errorMessage.id);
}

function drawChart(json) {
    var data = new google.visualization.DataTable(json); //here, JSON is buggy
    var options = {
      title: 'test'
    };
    var chart = new google.visualization.LineChart(document.getElementById('chart_div'));

    //attach the error handler here, before draw()
    google.visualization.events.addListener(chart, 'error', errorHandler);    

    chart.draw(data, options);
}

viola! Try add the errorHandler and google.visualization.events.addListener(chart, 'error', errorHandler); to your existing code, and see the difference (this is all you need).

Rondi answered 10/7, 2013 at 8:29 Comment(0)
T
0

you might miss to declare any variables . E.g var data i also got same error ,finally i found that i missed to declare data = google.visualization.arrayToDataTable(sourcedata); and i changed that as

var data = google.visualization.arrayToDataTable(sourcedata);
Tigre answered 23/3, 2017 at 16:14 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.