Có cách nào để tùy chỉnh biểu đồ Google để ngăn chúng hiển thị thông báo 'màu đỏ' này không? Ví dụ: âm thầm vẽ không có gì thay thế?Làm cách nào để tùy chỉnh "không đủ cột được đưa ra để vẽ biểu đồ được yêu cầu"?
Trả lời
Có một loạt sự kiện, phương pháp và công cụ cung cấp biểu đồ google/hình ảnh hóa để tùy chỉnh xử lý lỗi, thông báo lỗi và v.v.
Ví dụ, xem https://developers.google.com/chart/interactive/docs/reference#errordisplay hoặc https://developers.google.com/chart/interactive/docs/examples#querywrapper
Theo những gì bạn đang yêu cầu, cách dễ nhất sẽ được chỉ cần đính kèm một errorHandler- và trong xử lý đó, loại bỏ các lỗi thông qua google.visualization.errors
.
Như thế này:
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! Hãy thử thêm errorHandler
và google.visualization.events.addListener(chart, 'error', errorHandler);
vào mã hiện tại của bạn và xem sự khác biệt (đây là tất cả những gì bạn cần).
bạn có thể bỏ lỡ tuyên bố bất kỳ biến nào. Ví dụ: dữ liệu var tôi cũng gặp lỗi tương tự, cuối cùng tôi thấy rằng tôi đã bỏ lỡ tuyên bố dữ liệu = google.visualization.arrayToDataTable (sourcedata); và tôi đã thay đổi điều đó là
var data = google.visualization.arrayToDataTable(sourcedata);