我想在线条系列的y轴上的最高点和最低点值上显示标记。我知道如何手动添加标记但是想要动态添加/删除标记,如果缩放/平移或其他任何改变可见的高/低点是否有办法知道这个和新的高/低添加/删除标记
之前的SO question要求对此模型图片提出类似的建议:http://cl.ly/image/1f0m3l241e2S。答案虽然是提供了数据源,但不会通过缩放/平移或流数据进行更新。
我可能自己循环遍历数据源(2D数组),找到高/低并设置它们,如果我只能循环遍历数组的缩放部分,则在缩放/平移事件上执行相同操作。虽然如果我将dataGrouping设置为true,我迭代的值数组可能无法正确匹配?
答案 0 :(得分:1)
您可以通过
执行此操作1)使用getExtremes()方法获取高/低数据点
2)使用afterSetExtremes()事件捕获缩放事件并重新计算
一些可能相关的帖子:
您可以在函数中设置它,循环访问数据并查找与高/低数据点的匹配,然后从中创建一个散点图系列,标记图表上的高点/低点。
在图表加载和缩放上标记点的示例:
函数样本,获取与标记匹配高/低数据点的相关x值:
$.each(chart.series[0].data, function(i,point) {
if(point.y == maxData && point.x <= maxTime && point.x >= minTime) {
xMax = point.x;
}
if(point.y == minData && point.x <= maxTime && point.x >= minTime) {
console.log(point);
xMin = point.x;
}
});
<强> {{UPDATE:强>
重要的是要注意这个问题:
如果要使用列或区域系列,则需要从系列对象而不是getExtremes()方法获取min和max,因为图表在内部将dataMin设置为0以用于这些系列类型。 / p>
足够容易相应地调整功能。
在类似的说明中,如果您要使用没有明确y值的boxplot,columnrange或其他类似系列,您也必须相应地更新。