角度:使用导航器以编程方式将多个y轴添加到highstock

时间:2018-07-02 14:01:29

标签: javascript angular highstock

我有一个问题,但是我可能做错了什么。我的需求是趋势,用户可以在运行时添加或删除自定义y轴。我们的项目使用Angular和官方的highcharts-angular包装器。

我一直在做的是构造轴配置对象并将其推入配置中的yAxis数组中。在添加每个对象之前,我还设置了update选项,并且对象本身已正确组装和添加。

问题是我添加的第一个轴显示为好像应用于导航器而不是主图,并且所有后续轴都被忽略(尽管它们正确显示在配置对象中)。

yAxis appears in navigator

当我将同一轴手动添加到初始配置对象中时,它会正确显示。但是,从该点开始,任何动态添加的内容都遵循相同的模式(添加的第一个内容显示在导航器中,而其他所有内容根本不显示)。

axis from config object appears normally

我做错什么了吗?我应该以某种方式获取图表对象并调用addAxis吗?似乎必须有一种更直接,更适当的角度方法来做到这一点。感谢您提供任何见识。

谢谢!

1 个答案:

答案 0 :(得分:0)

前一段时间解决了这个问题;如果有人遇到类似问题,请在这里回答。

我没有找到不包括使用图表对象的解决方案。该对象具有更新图表的所有相关方法,它们均有效。如果您需要一种(相对)优雅的方法来将这个对象放入一个有角度的项目中,请考虑在预定义的加载事件中进行操作,如下所示:

const component = this;
this.chartOptions = {
  chart: {
    events: {
      load: function() {
        component.chartObject = this; // expose chart object to component in order to  properly add and remove axes
      }
    }
  }
}