Как добавить defaultAxisXTickStrategy в LightningChart JS после инициализации диаграммы?

Я инициализирую диаграмму вот так

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

и связываем данные позже и хотел бы добавить defaultAxisXTickStrategy позже при получении данных.

1 ответ

Решение

В defaultAxisXTickStrategy может быть установлен только при создании диаграммы.

Я предполагаю, что вы хотели бы иметь ось с тактовой стратегией, которая соответствует получаемым вами данным. Для этого вы можете вручную создать ось с помощью метода диаграммы addAxisX. Этот метод принимаетaxisTickStrategyвариант. Затем, чтобы использовать только что созданную ось, вы должны передать созданную ось вaddLineSeries (или любые другие опции метода add...series). {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>

Другие вопросы по тегам