Highstock底部图表未显示

时间:2017-02-13 13:56:05

标签: javascript highcharts highstock

我正在使用官方高档图表demo创建一个类似于2个图表的东西。问题是底部图表(卷)未显示jsfiddle

aapl-ohlc.json文件的简要说明会有所帮助。

...    
const data = JSON.parse(document.getElementById('ohlc-data').innerHTML);


// split the data set into ohlc and volume
const ohlc = data.map((a) => [a[0], a[1], a[2], a[3], a[4]])
const volume = data.map((a) => [a[0], a[5]])

// set the allowed units for data grouping
const groupingUnits = [
  [
    'week', // unit name
    [1] // allowed multiples
  ],
  [
    'month', [1, 2, 3, 4, 6]
  ]
]

// create the chart
Highcharts.stockChart('container', {
  legend: {
    enabled: false
  },
  credits: {
    enabled: false
  },
  exporting: {
    enabled: false
  },
  scrollbar: {
    enabled: false
  },
  rangeSelector: {
    selected: 4,
    inputEnabled: false
  },

  title: {
    text: ''
  },

  yAxis: [{
    labels: {
      align: 'right',
      x: -3
    },
    title: {
      text: ''
    },
    height: '60%',
    lineWidth: 2
  }, {
    labels: {
      align: 'right',
      x: -3
    },
    title: {
      text: ''
    },
    top: '65%',
    height: '35%',
    offset: 0,
    lineWidth: 2
  }],

  tooltip: {
    split: true
  },

  series: [{
    type: 'candlestick',
    name: 'AAPL',
    data: ohlc,
    dataGrouping: {
      units: groupingUnits
    }
  }, {
    type: 'column',
    name: 'Volume',
    data: volume,
    yAxis: 1,
    dataGrouping: {
      units: groupingUnits
    }
  }],
  navigator: {
    enabled: false

  }
});

1 个答案:

答案 0 :(得分:0)

这一行:

const volume = data.map((a) => [a[0], a[5]])

指向不存在的元素。未定义a[5](每个子数组只有五个元素,没有第六个元素),因此数据中没有y个值,因此无法显示数据系列。

我不知道什么数据元素应该代表音量,但作为参考,只是为了表明它确实有用,这里是一个更新的小提琴使用

const volume = data.map((a) => [a[0], a[1]])

修改

请注意,在您基于小提琴的演示示例中,他们使用的文件是aapl-ohlcv.json,而不是aapl-ohlc.json,实际上每个子数组中都有第6个数据元素。 / p>