如何自定义“没有足够的列来绘制所请求的图表”消息?

时间:2013-07-09 22:56:09

标签: javascript css3 google-visualization

有没有办法自定义Google图表以防止他们显示此“红色”消息?例如,默默地抽取任何东西?

2 个答案:

答案 0 :(得分:9)

谷歌图表/可视化提供了一系列事件,方法和工具,用于自定义错误处理,错误消息等。

例如,请参阅https://developers.google.com/chart/interactive/docs/reference#errordisplayhttps://developers.google.com/chart/interactive/docs/examples#querywrapper

根据您的要求,最简单的方法是简单地附加错误处理程序,并在该处理程序中,通过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);
}

中提琴!尝试将errorHandlergoogle.visualization.events.addListener(chart, 'error', errorHandler);添加到现有代码中,然后查看差异(这就是您所需要的)。

答案 1 :(得分:0)

您可能会错过声明任何变量。 例如,var数据 我也得到了同样的错误,最后我发现我错过了申报  data = google.visualization.arrayToDataTable(sourcedata);我把它改成了

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