gpt4 book ai didi

javascript - Highcharts 中的动态 PlotLine

转载 作者:行者123 更新时间:2023-11-28 08:03:41 28 4
gpt4 key购买 nike

我有一个带有水平 PlotLine 的散点图。我希望人们能够拖动情节线。 y 轴值用作生成柱形图的阈值(柱形图最初是使用阈值的默认值生成的)。到目前为止,我已经使用在 Highcharts 论坛上找到的代码来工作可拖动的情节线:

var line,
clickX,
clickY;

var start= function (e) {
$(document).bind({
'mousemove.line': step,
'mouseup.line': stop
});
clickY=e.pageY - line.translateY;
}

var step = function (e) {
line.translate(e.pageX - clickX, e.pageY - clickY)
}

var stop = function (e) {
var chart = $('#container').highcharts();
var max_y_axis = chart.yAxis[0].max;
var newVal = chart.yAxis[0].toValue(e.pageY - clickY + chart.plotTop) + chart.yAxis[0].plotLinesAndBands[0].options.value)- max_y_axis;
$('#report').text('Value: ' + newVal);
$(document).unbind('.line');
}

这工作正常,我可以看到阈值正在正确生成。但是,我想在代码中的其他位置访问值 newVal (阈值),即创建第二个图表。有谁知道如何在函数之外获取 newVal 吗?

最佳答案

只需扩大其范围:

var line,
clickX,
clickY,
newVal;

var start= function (e) {
$(document).bind({
'mousemove.line': step,
'mouseup.line': stop
});
clickY=e.pageY - line.translateY;
}

var step = function (e) {
line.translate(e.pageX - clickX, e.pageY - clickY)
}

var stop = function (e) {
var chart = $('#container').highcharts();
var max_y_axis = chart.yAxis[0].max;
newVal = chart.yAxis[0].toValue(e.pageY - clickY + chart.plotTop) + chart.yAxis[0].plotLinesAndBands[0].options.value)- max_y_axis;
$('#report').text('Value: ' + newVal);
$(document).unbind('.line');
}

关于javascript - Highcharts 中的动态 PlotLine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25041493/

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