Javascript 海图中的可拖动十字线

Javascript 海图中的可拖动十字线,javascript,highcharts,Javascript,Highcharts,我正在开发一个web应用程序,使用Highcharts.js作为图表库。在Highcharts中的折线图中,将鼠标悬停在图形中的某个点时,可以获得工具提示。您还可以在同一点获得十字线(垂直线) 我想要的是一种方式,让十字线始终显示,用户可以水平拖动。应显示十字线所在点的工具提示。这使得用户可以“保存”图形中的位置,这样当用户不再悬停图形时,位置不会消失。工具提示只应显示在十字线所在的位置,而不应在用户将鼠标悬停在图形的其他区域时显示 有人知道这在Highcharts中是否可行吗?您可以使用并创建

我正在开发一个web应用程序,使用Highcharts.js作为图表库。在Highcharts中的折线图中,将鼠标悬停在图形中的某个点时,可以获得工具提示。您还可以在同一点获得十字线(垂直线)

我想要的是一种方式,让十字线始终显示,用户可以水平拖动。应显示十字线所在点的工具提示。这使得用户可以“保存”图形中的位置,这样当用户不再悬停图形时,位置不会消失。工具提示只应显示在十字线所在的位置,而不应在用户将鼠标悬停在图形的其他区域时显示

有人知道这在Highcharts中是否可行吗?

您可以使用并创建

//定义自定义符号路径
Highcharts.SvgRender.prototype.symbols.crosshair=函数(x、y、w、h、elem){
var ret=[],
图表;
if(元素元素){
chart=elem.element.farthestViewportElement.parentElement.id.split('-');
chart=Highcharts.charts[图表[chart.length-1]];
ret=[
'M',x,0,
'L',x,chart.plotHeight
];
}
返回ret;
};
if(Highcharts.VMLRenderer){
Highcharts.VMLRender.prototype.symbols.crosshair=Highcharts.SvgRender.prototype.symbols.crosshair;
}
var图表=新的Highcharts.图表({
图表:{
renderTo:'容器',
动画:错误
},
标题:{
文字:“Highcharts可拖动点演示”
},
xAxis:{
类别:[一月、二月、三月、四月、五月、六月、七月、八月、九月、十月、十一月、十二月]
},
打印选项:{
系列:{
粘滞跟踪:错误
},
行:{
光标:“ns resize”
},
气泡:{
光标:“移动”
}
},
工具提示:{
格式化程序:函数(){
if(this.point.series.userOptions.noTooltip)返回false;
var tooltip=this.series.chart.tooltip;
返回tooltip.defaultFormatter.call(此,tooltip);
}
},
系列:[{
数据:[0,71.5106.4129.2144.0176.0135.6148.51216.4194.1,95.6,54.4],
键入:“列”,
最小点长度:2
}, {
数据:[0,71.5106.4129.2144.0176.0135.6148.51216.4194.1,95.6,54.4],
德拉格布利:是的
}, {
诺托利普:是的,
数据:[[10,10,10]],
draggableX:没错,
dragMinX:0,
dragMaxX:11,
最大尺寸:1,
minSize:1,
类型:'气泡',
标记:{
符号:“十字线”,
线宽:2,
国家:{
悬停:{
已启用:false
}
}
},
minPointLength:2,
showInLegend:false
}]
});