используя диаграмму google, я построил линейную диаграмму, подобную этой.
На графике я создал настраиваемый подсказку, как показано в jfiddle. В приведенном выше графике нет проблем с отображением диаграммы с подсказкой инструмента.
Извлечение данных диаграммы из db. Основываясь на некоторых данных диаграммы, я не могу отобразить диаграмму из-за некоторых js erros.
в приведенном ниже примере я изменил данные диаграммы, и график не дублируется из-за js erros в строке 57 кода jfidle
im сталкивается с больше проблем с скриптами внутри метода ниже всякий раз, когда данные диаграммы меняются.
function toolTipVal(dt, row, index1, index2) {
label1 = dt.getColumnLabel(index1).split("\n");
label2 = dt.getColumnLabel(index2).split("\n");
yValue1 =0; yValue2 =0;
if (dt.getValue(row, index1) === null ) {
yValue1 = dt.getFormattedValue(row -1, index1);
}
else {
yValue1 = dt.getFormattedValue(row, index1);
}
if (dt.getValue(row, index2) === null) {
if (row > 0) {
yValue2 = dt.getFormattedValue(row - 1, index2);
}
} else {
yValue2 = dt.getFormattedValue(row, index2);
}
return [yValue1, yValue2, label1, label2];
};
Если я использую второй набор данных в jfiddle, я получаю следующую ошибку js
jsapi_compiled_default_module.js:74 Uncaught (in promise) Error: Invalid row index -1. Should be in the range [0-799] in above methodline
yValue1 = dt.getFormattedValue(row -1, index1);
из-за этого графика не отображается в пользовательском интерфейсе.
Как я могу изменить описанный выше метод на основе данных данных диаграммы
row
- это нулевое индексированное значение. Ты звонишь
yValue1 = dt.getFormattedValue(row -1, index1);
без проверки, если row
не первая.
Я не полностью понимаю логику, но я предполагаю, что вам нужно добавить некоторую логику для всплывающей подсказки первого узла.
Вы будете получать это исключение каждый раз, когда
dt.getValue(row, index1) === null
это правда для row == 0
.
row - 1
, вероятно, производит-1
когдаrow
равен0
.if (row > 0) {
- перед установкойyValue1
- так же, как чуть ниже дляyValue2