Javascript 如何获取Hightcharts/Highstock中隐藏序列的数据?

Javascript 如何获取Hightcharts/Highstock中隐藏序列的数据?,javascript,highcharts,Javascript,Highcharts,我正在使用和他们的 我需要动态添加一个系列(在原始图表数据加载后一次),并且我需要隐藏该系列,使其不显示在图表中(但仍然存在)。 这样做的原因是,我需要将指标应用到特定的时间范围,为此,我使用了隐藏序列(它实际上是有效的) 我还需要能够随时访问隐藏序列的数据,但这里是我的问题出现的地方。如果我尝试访问我的隐藏系列,如: console.log(chart.get('hidden-series').data); 然后返回一个空数组 我在下面有完整的代码,下面是我在那里做什么的简短说明: 单击前两

我正在使用和他们的

我需要动态添加一个系列(在原始图表数据加载后一次),并且我需要隐藏该系列,使其不显示在图表中(但仍然存在)。 这样做的原因是,我需要将指标应用到特定的时间范围,为此,我使用了隐藏序列(它实际上是有效的)

我还需要能够随时访问隐藏序列的数据,但这里是我的问题出现的地方。如果我尝试访问我的隐藏系列,如:

console.log(chart.get('hidden-series').data);
然后返回一个空数组

我在下面有完整的代码,下面是我在那里做什么的简短说明:

单击前两个按钮,我将动态添加两个系列
series2
series3
。其中一个被添加为“正常”(可见),另一个被添加为在图表上不可见(使用
false,false
作为方法
addSeries
中的第二个和第三个参数-我不确定这实际上意味着什么,因为这是一个遗留代码,我在任何地方都找不到合适的文档)

然后用最后的按钮,我试图得到每个系列的数据。正如您从我的测试示例中注意到的,即使在尝试获取数据时添加了
series3
(它不可见),它也是一个空数组

如果我对行中的两个
false
参数进行注释:

}, false, false); 
数据将按预期检索,但将显示序列(这不是我想要的)

有没有其他方法可以从看不见的序列中获取数据?或者,对
addSeries
方法中的参数进行适当的描述也有助于理解问题

编辑:(根据下面的评论,添加我需要它的原因)

我需要此功能的原因是:我需要在图表上显示,并且只应用于当天(因此从00:00开始直到当前时刻),而图表本身包含多天的数据

所以我要做的是:我只取代表当前日期的数据子集,隐藏该子集,并使用其数据仅显示特定时间范围内的VWAP指示器


指示器的初始负载按预期工作。我需要访问这些数据,因为图表正在实时更新,我需要能够动态地在常规数据系列中添加新的点,同时也可以在当天的隐藏子集中添加新的点。

关于文档:您只使用部分文档,描述选项的文档,而不是方法的文档。您可以在“类”选项卡中找到方法和道具,例如
addSeries
:-您设置为
false
的参数是
animation
redraw
-显然不是您想要实现的:)

要实现您的需求,您应该:

  • 与第一个系列一样添加第三个系列(使用
    redraw=false
  • 隐藏此系列,并将选项设置为false(如果已禁用图例,则无需设置
    showInLegend
现在的问题是为什么需要
series.data
。使用Point类实例的唯一原因是调用方法,如
Point.remove()
Point.update()
。因为这一系列总是隐藏的,所以我认为情况并非如此

如果您不需要实际点,只需要其中的一些数据,那么您始终可以访问用于创建序列的数据集,对吗?比如
chart.addSeries({data:[…]})


无论如何,您可以这样强制生成点:-注意
series.processData()
series.generatePoints()
方法不是API的一部分

,我们是否需要小提琴的顶部,在那里添加事件
fafterRender
,因为我不确定我是否理解这是为了什么,那是我的操场,清理了演示:)抱歉搞混了!不管怎样,为什么您需要访问
系列.data
?我已经编辑了我的问题,在问题末尾添加了原因。我还不清楚的是,方法
series.processData()
series.generatePoints()
从何而来?我认为它们对这项工作非常重要。请参阅我的注释:“(…)方法不是API的一部分”。这些都是内部方法。我错过了你的更新,谢谢
VWAP
indicator侦听数据更新,因此在您的情况下使用
setData()
应该可以,看看:-有两个隐藏序列是该指标的基础。技术指标系列不需要
系列。数据:)