Я пытаюсь, чтобы Highcharts делал следующее: Я хочу показать столбчатую диаграмму с тремя столбцами. Два первых должны оставаться постоянными, третий должен обновляться несколько раз в зависимости от того, что пользователь выбирает из выпадающего меню.
Выбрав из выпадающего меню, я могу обновить третий столбец. Если изначально отображается «Имя 3», выбор «Имя 4» в раскрывающемся меню правильно заменит столбец. Выбор «Имя 5» вызывает другую правильную замену. Однако если я снова выберу «Имя 3», обновится только метка, а столбец и значение y во всплывающей подсказке - нет. Таким образом, он будет говорить «Имя 3», но использовать значение y для «Имя 5». Как мне исправить это поведение?
Важным моментом здесь является пользовательский контроль над столбцом 3. Было бы хорошо, чтобы изначально показывалось только 2 столбца, если это проще.
Код:
var data = {
"10 - Name 1": [700000],
"1001 - Name 2": [750000],
"1000 - Name 3": [800000],
"1002 - Name 4": [900000],
"1003 - Name 5": [950000]
};
var chart = Highcharts.chart('fig8', {
chart: {
type: 'column',
animation: true
},
series: [{
name: "10 - Name 1",
data: data["10 - Name 1"]
}, {
name: "1001 - Name 2",
data: data["1001 - Name 2"]
}, {
name: "1000 - Name 3",
data: data["1000 - Name 3"]
}],
title: {
text: 'Some metric'
},
subtitle: {
text: 'Choose unit from drop down to alter third column'
},
xAxis: {
labels: {
enabled: false
}
}
});
$("#sel").change(function() {
chart.series[2].update({
name: this.value,
data: data[this.value]
});
});
Вот урезанный пример: https://jsfiddle.net/RuneS/soh8vw79/10/