Я решил эту проблему, передав ручные отметки «месяц» вручную ticks
в XAxis
. По какой-то причине tickFormatter
не обрабатывал все эпохи.
Возможно, есть лучший подход, но этот помог мне.
Предоставленный codepen вопрос обновляется с помощью обходного пути.
Также это небольшой фрагмент кода XAxis
:
<XAxis
dataKey="epoch"
type="number"
domain={domain}
interval={0}
tickFormatter={xFormatter}
tickCount={12}
ticks={manualTicks}
/>
ticks
:
const manualTicks = [
epochGenerator(new Date(YEAR, 1, 1)),
epochGenerator(new Date(YEAR, 2, 1)),
epochGenerator(new Date(YEAR, 3, 1)),
epochGenerator(new Date(YEAR, 4, 1)),
epochGenerator(new Date(YEAR, 5, 1)),
epochGenerator(new Date(YEAR, 6, 1)),
epochGenerator(new Date(YEAR, 7, 1)),
epochGenerator(new Date(YEAR, 8, 1)),
epochGenerator(new Date(YEAR, 9, 1)),
epochGenerator(new Date(YEAR, 10, 1)),
epochGenerator(new Date(YEAR, 11, 1)),
epochGenerator(new Date(YEAR, 12, 1)),
]
и epochGenerator
:
const epochGenerator = (date) => date.getTime() / 1000;