gpt4 book ai didi

javascript - 如何从 Highcharts 中的 xAxis 单击事件绘制垂直线?

转载 作者:行者123 更新时间:2023-12-03 02:58:56 24 4
gpt4 key购买 nike

我有以下代码:

Check the JS Fiddle Here

var chart = Highcharts.chart('container', {

xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
plotLines: [{
value: 1,
color: 'red',
width: 2,
zIndex: 10
}]
},

series: [{
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
}]
});


// the button action
var $button = $('#button');

$button.click(function () {
console.log(chart.xAxis);
var newValue = (chart.xAxis[0].options.plotLines[0].value + 1) % 12;
chart.xAxis[0].options.plotLines[0].value = newValue;
chart.xAxis[0].update();
});

我想做的是画一条垂直线到我点击的xAxis。

例如,如果我单击一月,他会绘制一条到一月的垂直线,但如果我单击十一月,他会删除一月的线并绘制一条到十一月的新线。

请帮助我。

谢谢=)

最佳答案

我正在使用chart events click函数来跟踪点击并相应地添加plotLine。因此,单击图表内月份的相应区域,绘制并删除绘图线。

var chart = Highcharts.chart('container', {
chart: {
events: {
click: function(e) {
//console.log(e.xAxis[0].axis.categories[Math.round(e.xAxis[0].value)])
chart.xAxis[0].options.plotLines[0].value = Math.round(e.xAxis[0].value);
chart.xAxis[0].update();
}
}
},

xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
plotLines: [{
value: 1,
color: 'red',
width: 2,
zIndex: 10
}]
},

series: [{
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
}]
});


// the button action
var $button = $('#button');

$button.click(function() {
console.log(chart.xAxis);
var newValue = (chart.xAxis[0].options.plotLines[0].value + 1) % 12;
chart.xAxis[0].options.plotLines[0].value = newValue;
chart.xAxis[0].update();
});
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>

<div id="container" style="height: 400px"></div>
<button id="button" class="autocompare">update plot line</button>

关于javascript - 如何从 Highcharts 中的 xAxis 单击事件绘制垂直线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47489547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com