我有一个带有水平PlotLine的散点图。我希望人们能够拖动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');
}