У меня есть график, который, в котором я загрузить новые данные, используя следующую функцию:Установка имени графа в C3.js
function insertGraph(yAxis, xAxis, Header) {
setTimeout(function() {
chart.load ({
bindto: "#graph",
xs: {
'y':'x'
},
columns: [
yAxis,
xAxis
]
});
}, 100);
}
Пример значений для YAxis, Xaxis и заголовка, которые передаются в выглядеть следующим образом:
YAxis:
["y", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
XAxis:
["x", 0, 131.35, 26971.3, 27044.75, 27351.4, 27404.483333333334, 27419.416666666668, 33128.96666666667, 33549.13333333333, 34049.48333333333, 77464.26666666666, 77609.71666666666, 174171.85, 259166.98333333334]
Заголовок:
MakeModeChange
Все здорово, за исключением того, когда карта загружается он дает имя данных «у» работает, мне это нужно иметь Header
(в данном случае MakeModeChange) в качестве имени данных. Я попытался с помощью name
как ниже код, но ничего не произошло:
function insertGraph(yAxis, xAxis, Header) {
setTimeout(function() {
console.log(Header);
console.log(yAxis);
chart.load ({
bindto: "#graph",
xs: {
'y':'x'
},
columns: [
yAxis,
xAxis
],
names: {
y: 'Header'
}
});
}, 100);
}
Я также попытался изменить то, что я перешел в yAxis
выглядеть следующим образом:
["MakeModeChange", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
А затем изменить функцию загрузки, чтобы выглядеть следующим образом :
function insertGraph(yAxis, xAxis, Header) {
setTimeout(function() {
chart.load ({
bindto: "#graph",
xs: {
Header:'x'
},
columns: [
yAxis,
xAxis
],
});
}, 100);
}
Но тогда я получаю следующее сообщение об ошибке:
Uncaught Error: x is not defined for id = "MakeModeChange".
Любая идея, как сделать эту работу?
переменных имеет правильный путь вокруг (это только с помощью подсчета событий и безумных значений х являются переделанной меткой времени). И хотя я могу заставить его работать так, как вы делаете выше, вы определяете строку в xs как «Ваше имя», мне нужно, чтобы это значение передавалось в «Заголовок» в вызове функции (поскольку я не знаю, какое это значение будет, пока оно не пройдет). – Mike
Хорошо, но легко использовать переданную переменную. Вы просто используете: 'xAxis [0] = Header;', чтобы перенести его в первую позицию массива, а затем ваш объект 'xs' просто должен быть' {Header: 'y'} '. Я обновлю фрагмент. – Sean
Отлично! Скорректированный код работал точно так, как мне было нужно - спасибо за помощь! – Mike