3

我正在像这样初始化图表

this.chart = lightningChart()
   .ChartXY({
       containerId: 'chartSection',
       theme: Themes.light
   })
  .setTitle('')

并稍后绑定数据,并希望defaultAxisXTickStrategy稍后在获取数据时添加。

4

1 回答 1

4

defaultAxisXTickStrategy只能在创建图表时设置。

我假设您希望轴的刻度策略与您获得的数据相匹配。为此,您可以使用图表的addAxisX方法手动创建轴。此方法接受一个axisTickStrategy选项。然后要使用刚刚创建的这个轴,您可以将创建的轴提供给addLineSeries(或任何其他添加...系列)方法选项。{xAxis: createdAxis}.

// Create a new chart
const chart = lcjs.lightningChart().ChartXY({
    containerId: 'target'
  })
  .setTitle('Demo Chart')

// after 2 seconds start adding data
setTimeout(() => {
  const dateOrigin = new Date()
  // create a new axis
  const createdAxis = chart.addAxisX(
    false, lcjs.AxisTickStrategies.DateTime(dateOrigin)
  )

  // create a new series using the previously created axis for X axis
  const lineSeries = chart.addLineSeries({
    xAxis: createdAxis
  })
  // dispose the default axis from X axis
  chart.getDefaultAxisX().dispose()

  // add new data twice a second
  let i = 0
  setInterval(() => {
    lineSeries.add({
      x: 1000 * i,
      y: Math.random() * 10
    })
    i++
  }, 500)

}, 2000)
body {
  height: 100vh;
}
<script src="https://unpkg.com/@arction/lcjs@1.2.2/dist/lcjs.iife.js"></script>
<div style="height: 100%;" id="target"></div>

于 2020-01-10T12:24:23.183 回答