Я использую highchart для некоторых функций детализации.HighChart: сюжетная линия и график события click
В моем случае у меня есть диаграмма области с событием onclick.
Я хочу, чтобы пользователь нажал на участок, чтобы добавить строку и изменить цвет диаграммы. Поэтому у меня есть две функции: одна меняет цвет диаграммы и добавляет линию сюжета, где пользователь нажал.
Ниже события сюжетной линии нажмите:
chart: {
type: 'area',
events: {
click: function(evt) {
var xValue = evt.xAxis[0].value;
var xAxis = evt.xAxis[0].axis;
$.each(xAxis.plotLinesAndBands,function(){
if(this.id===myPlotLineId)
{
this.destroy();
}
});
xAxis.addPlotLine({
value: xValue,
width: 1,
color: 'red',
//dashStyle: 'dash',
id: myPlotLineId
});
}
}
},
И это событие обновления цвета, который находится внутри plotOptions
plotOptions: {
series: {
point: {
events: {
click: function(event) {
//selector
if(previousPoint){
previousPoint.update({ color: '#FFC7C3' });
}
this.update({ color: '#fe5800' });
//drilldown trigger
var date = this.category.replace(/\-/g,'')
$("#datepicker").click();
//put somewhere else not in the custom
$("#drilldowndate").html(parseInt(date));
$(window).scrollTop(1700);
window.setTimeout(function(){
$("#trendDrill").click();
},500);
window.setTimeout(function(){
$("#periodChecker").text($(".ifNoDrill").data("target"));
},1000);
}
}
}
}
},
И я хотел бы, чтобы addplotline
функции и обновления чтобы работать с одним и тем же кликом, поэтому, когда пользователь нажимает на нужную область, диаграмма изменяет определенный цвет и появляется линия графика.
JS скрипка Demo:http://jsfiddle.net/Xm4vW/70/
Это именно то, чего я хотел достичь. Один дополнительный вопрос, как я могу уничтожить всю линию сюжета после обновления моей серии? – anson920520
Вы можете снова перебрать свой сюжетLines и удалить их с помощью .remove(): http://jsfiddle.net/Xm4vW/74/ –
Извините, последний вопрос, что, если у меня будет несколько разных графиков? Я узнал, что функция не очистит сюжетную линию на другом графике, когда я нажму на другой график, см. Обновление – anson920520