Javascript 在Highchart中添加绘图线后,如何在固定的工具提示位置显示y轴点?
我有一个多系列的线条高度图,它有一个固定的工具提示和一个十字线。随着十字线沿x轴移动,y轴点将在固定的工具提示中完美渲染。但是,我想添加的另一个功能是,在添加垂直绘制线(Javascript 在Highchart中添加绘图线后,如何在固定的工具提示位置显示y轴点?,javascript,jquery,highcharts,Javascript,Jquery,Highcharts,我有一个多系列的线条高度图,它有一个固定的工具提示和一个十字线。随着十字线沿x轴移动,y轴点将在固定的工具提示中完美渲染。但是,我想添加的另一个功能是,在添加垂直绘制线(chart.xAxis[0].addPlotLine)后,我还希望在固定的工具提示中显示相应的y轴点和日期时间值(xAxis) 我不知怎的按照这个添加了一条垂直的绘图线。但是,我似乎找不到任何添加垂直绘图线并相应显示x轴和y轴点的相关演示或示例。这在海图中可行吗 注意:添加垂直绘图线通过按钮调用,并将值传递到图表 海图配置代码
chart.xAxis[0].addPlotLine
)后,我还希望在固定的工具提示中显示相应的y轴点和日期时间值(xAxis
)
我不知怎的按照这个添加了一条垂直的绘图线。但是,我似乎找不到任何添加垂直绘图线并相应显示x轴和y轴点的相关演示或示例。这在海图中可行吗
注意:添加垂直绘图线通过按钮调用,并将值传递到图表
海图配置代码
function plotChartData(seriesData, xTitle)
{
myChart = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'line',
zoomType: 'xy',
panning: true,
panKey: 'shift',
plotBorderWidth: 1
},
title: {
text: ''
},
legend: {
layout: 'horizontal',
align: 'left',
itemDistance: 10,
borderWidth: 0,
itemMarginTop: 0,
itemMarginBottom: 0,
padding: 20
},
plotOptions: {
series: {
states: {
hover: {
enabled: false
}
},
dataLabels: {
enabled: false,
format: '{y}'
},
allowPointSelect: false
}
},
xAxis: {
type: 'datetime',
labels: {
rotation: -65,
style: {
fontSize: '9px',
fontFamily: 'Verdana, sans-serif'
}
},
crosshair: true,
dateTimeLabelFormats: {
day: '%d %b %Y %I:%M %P'
}
},
yAxis: {
gridLineColor: '#DDDDDD',
gridLineWidth: 0.5
},
tooltip: {
positioner: function () {
return {
x: this.chart.plotLeft,
y: this.chart.plotTop
}
},
useHTML: true,
pointFormat: '<small><font color="{series.color}"><strong>{series.name}</strong></font>: <strong>{point.y}</strong></small><br/>',
headerFormat: '<span style="font-size: 8px">{point.key}</span><br/>',
xDateFormat: '%d-%m-%Y %H:%M:%S',
shared: true,
valueDecimals: 2,
shadow: false,
borderWidth: 0,
backgroundColor: 'rgba(255,255,255,0.8)'
},
series: [{
name: xTitle,
data: seriesData
}]
});
}
非常感谢您的帮助。工具提示中应该显示哪些点?它们与添加的绘制线有何关系?@morganfree将在固定工具提示中显示的点是y轴点值(例如,
{series.name}{point.y}
)。它们与添加的绘制线相关,垂直绘制线(x轴fixedLineDateTime
值)指示序列的y轴和x轴坐标中的确切位置。我想在highchart初始化的yAxis
中添加一个属性,但我不知道正确的方法。你能指导我吗?我仍然不知道如何从x轴绘图线确定y值-你有x位置,因为它是绘图线的值,但y值?无论如何,如果你构建了一些动态的东西,那么最好在格式化程序中使用,你可以获取任何你想要的信息-@morganfree感谢你给出了一个示例代码。我真的很感激。我认为tooltip.formatter
将完成我需要的工作。我将进一步探讨此属性。@morganfree我使用了您的示例代码,但在这一行const header=${this.x}
代码>我在x轴上获得计算的日期时间值(例如1484641900000)。有没有办法将其转换为准确的日期时间(例如10-05-2017 02:39 PM)?
if (myChart.xAxis[0].plotLinesAndBands.length === 0 || myChart.xAxis[0].plotLinesAndBands.length === null) {
myChart.xAxis[0].addPlotLine({
value: +moment(fixedLineDateTime),
color: 'red',
width: 1,
id: 'plot-vertical-id'
});
}