Как настроить сообщение "недостаточно столбцов для построения запрошенной диаграммы"?


Есть ли способ настроить диаграммы Google, чтобы они не отображали это "красное" сообщение? Например, молча ничего не рисуя вместо этого?

2 8

2 ответа:

Существует множество событий, методов и инструментов, которые google charts / visualization предлагает для настройки обработки ошибок, сообщений об ошибках и так далее.

Например, смотрите https://developers.google.com/chart/interactive/docs/reference#errordisplay или https://developers.google.com/chart/interactive/docs/examples#querywrapper

В соответствии с тем, что вы просите, проще всего было бы просто прикрепить errorhandler и в этом обработчике удалить ошибку через google.visualization.errors.

Вот так:

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);
}

Виола! Попробуйте добавить errorHandler и google.visualization.events.addListener(chart, 'error', errorHandler); в существующий код и увидеть разницу (это все, что вам нужно).

Вы можете пропустить объявление любых переменных . Например данные var я также получил ту же ошибку, наконец я обнаружил, что я пропустил объявить data = google.визуализация.arrayToDataTable (sourcedata); и я изменил это как

var data = google.visualization.arrayToDataTable(sourcedata);