Установите минимальную / максимальную дату для даты в Recharts.js

Я использую Recharts.js для отображения данных диаграммы на моем веб-сайте. Однако я хочу установить минимальное / максимальное значение XAxis, которое является типом даты, но попытка с доменом мне не сработала:

<ResponsiveContainer width="100%" height={200}>
  <BarChart
    width={400}
    height={200}
    data={data}
    margin={{
      top: 20,
      left: 5,
      bottom: 5,
      right: 5
    }}
  >
    <CartesianGrid strokeDasharray="3 3" />
    <XAxis dataKey="time" tickFormatter={timeStr => moment(timeStr).format(timeFormat)} />
    <YAxis dateKey="count" type="number" allowDecimals={false} tickCount={10} />
    <Tooltip formatter={(value, name) => [value, startCase(name)]} />
    <Bar dataKey="count" fill="#8884d8" />
  </BarChart>
</ResponsiveContainer>

Ключевая часть:

<XAxis dataKey="time" tickFormatter={timeStr => moment(timeStr).format(timeFormat)} />
domain={['2018-01-01', '2019-12-31']}
domain={['2018-01-01 00:00:00', '2019-12-31 00:00:00']}
domain={['2018-01-01T00:00:00.000+09:00', '2019-12-31T23:59:59.999+09:00']}
domain={[new Date('2018-01-01'), new Date('2019-12-31')]}
domain={[new Date('2018-01-01').getTime(), new Date('2019-12-31').getTime()]}
domain={[moment('2018-01-01').format('YYYY-MM-DD'), moment('2019-12-31').format('YYYY-MM-DD')]}

По-прежнему первая дата установлена ​​на самую раннюю дату, а последняя дата - на самую позднюю. Что мне здесь не хватает?


person modernator    schedule 16.07.2019    source источник


Ответы (1)


domain работает только с числовым типом оси типа «число»;

Когда вы указываете дату с кавычками, она становится категорией;

Вам нужно преобразовать date в эпоху unix, то есть в секундах с 1 января 1970 года;

person Bhagawat Dongre    schedule 07.11.2019