Можно использовать некоторую помощь, пытаясь создать простую линейную диаграмму с Победой.
Что я пытаюсь сделать:
Я в основном пытаюсь создать линейный график, который показывает случайные числа за последние 10 минут. Я генерирую новое случайное число каждые 3 секунды и добавляю это число к линейному графику.
Таким образом, ось X должна быть от 0 минут до 10 минут, а ось Y должна быть фактическим rand num для данного времени.
Моя главная проблема в том, что я довольно растерялся, пытаясь создать ось X с интервалом 0–10 минут с интервалом в 3 секунды.
Что у меня есть до сих пор:
Вот песочница для кода с тем, что я уже сделал, чтобы вы могли попробовать: https://codesandbox.io/s/6wnzkz512n
Основной Chart
компонент:
import React from 'react'
import { VictoryChart, VictoryLine, VictoryAxis } from 'victory'
class Chart extends React.Component {
constructor() {
super()
this.state = {
data: []
}
}
// Add a new data point every 3 seconds
componentDidMount() {
this.getRandNum()
setInterval(this.getRandNum, 3000)
}
// get rand num from 1-5 along with current time,
// and add it to data. not sure if this is right approach
getRandNum = () => {
const newData = {
date: new Date(),
num: Math.floor(Math.random() * 5) + 1
}
this.setState({
data: [...this.state.data, newData]
})
}
render() {
return (
<VictoryChart width={600} height={470}>
<VictoryLine
style={{
data: { stroke: 'lime' }
}}
data={this.state.data}
x="date"
y="num"
/>
</VictoryChart>
)
}
}