Как добавить 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>