有没有办法使用某些highcharts-stocktools-toolbar项目?

时间:2019-06-12 17:55:55

标签: angularjs highcharts jstockchart

Sample toolbar functionn needed

我可以通过不通过

将其添加到指令中来删除工具栏的各个部分
stockTools: {gui: {
enabled: true,
buttons: ['separator', 'measure', 'toggleAnnotations', 'separator', 'flags', 'separator','zoomChange', 'fullScreen', 'separator', 

/*'lines', 'crookedLines', 'simpleShapes', 'verticalLabels'*/

]

但是,在度量上,我只需要measureX,而不是measureY和XY。 有没有一种方法可以包含工具栏项的子部分,而不是将它们从stock-tools.js中删除。

1 个答案:

答案 0 :(得分:0)

您应该能够在库存工具定义中定义符号项目,但是Highcharts中存在一个错误,该错误在此处报告:https://github.com/highcharts/highcharts/issues/10980

作为解决方法,您可以将第一个元素定义为空:items: [, 'measureX']

或创建自己的按钮,而不是从列表中删除项目:

{
  ..., 
  stockTools: {
    gui: {
      buttons: ['indicators', 'separator', 'simpleShapes', 'lines', 'crookedLines', 'myMeasure', 'advanced', 'toggleAnnotations', 'separator', 'verticalLabels', 'flags', 'separator', 'zoomChange', 'fullScreen', 'typeChange', 'separator', 'currentPriceIndicator', 'saveChart'],
      definitions: {
        myMeasure: {
          className: 'highcharts-measure-x',
          symbol: 'measure-x.svg'
        }
      }
    }
  },

  navigation: {
    bindings: {
      myMeasure: Highcharts.getOptions().navigation.bindings.measureX
    }
  },
  ...
}

实时演示: https://jsfiddle.net/BlackLabel/mrj6badh/

API参考: https://api.highcharts.com/highstock/stockTools.gui.definitions.measure.items