Recharts X-Axis auto не показывает большинство значений в тиках за раз? - PullRequest
0 голосов
/ 25 февраля 2020

Я только что перевел свой проект с использования реакции на перезарядку. В настоящее время я смотрю, почему тики не отображаются, как ожидалось. Есть 96 точек данных, которые должны отображаться, и декартова сетка показывает их, но никакие метки тиков не появляются, кроме нескольких в странное время, не выровненных с точками данных, которые я предоставляю. (Отметки должны быть с интервалом 30 минут.)

Есть ли способ, чтобы отметки отображались именно там, где я их указал в данных?

Это то, что у меня сейчас есть (я думал, что «интервал» должен был вызвать появление всех тиков). Я указал время в миллисекундах, а затем отформатировал их, что, по-видимому, работает по большей части.

<LineChart data={datapoints}>
    <XAxis dataKey="x"
           domain = {['auto', 'auto']}
           name = 'Time'
           tickFormatter = {(unixTime) => moment(unixTime).format('HH:mm')}
           interval={0}
           type = 'number'/>
    <YAxis />
    <CartesianGrid/>
    <Tooltip/>
    <Legend/>
    {this.props.yLines.map(lineKey => {
        return <Line dot={false} type="monotone" dataKey={lineKey} isAnimationActive={false}/>
    })}
</LineChart>

И это то, что отображается: Times aren't at intervals

По сравнению с тем, что я ожидал (все интервалы показаны) enter image description here

Обновление: с тех пор я добавил tickCount={96} (как и в случае с response-vis), но время все еще в странных приращениях. Как 6:33, 8:20 и т. Д. c. вместо 30-минутных приращений.

Любая помощь будет оценена!

1 Ответ

0 голосов
/ 05 мая 2020

Используйте scale = "time" в вашей оси XAxis.

...