Я пытаюсь построить даты в диаграмме BarChart, для чего требуется преобразовать временные метки в соответствующие значения Unix Epoch (т.е. секунды с 1 января 1970 года). Это означает, что любые даты до 1970 г. отображаются как отрицательные числа.
Изначально я думал, что нужно иметь функцию, которая сначала находит самую раннюю дату (самый низкий номер эпохи), а затем использует ее для установки новой базы для моей диаграммы BarChart. Это фактически проигнорирует 1970 и соответственно дополнит даты.
К сожалению, свойство tickFormatter
Recharts в <XAxis />
и <YAxis />
, кажется, принимает только функции, причем value
неявно вызывается, когда форматтер выполняет свою работу.
Это похоже на то, что я хотел бы сделать, а затем отформатировать в соответствии с «наименьшим числом», присвоенным функции removeEpochBuffer
. Это должно рассматривать параметр как номер буфера, который нужно отделить от предоставленного номера на графике, а затем вернуть исходный (правильный) номер эпохи, который можно переформатировать как YYYY-MM-DD
.
<YAxis
name={getYAxisLabel(yAxisFields, CHART_TYPES.COLUMNCHART)}
domain={['auto', 'auto']}
tickFormatter={removeEpochBuffer(lowestNumbers[0])}
allowDataOverflow={false}
/>
Это похоже на то, что у меня есть сейчас, основываясь на том, что я видел на GitHub:
<YAxis
name={getYAxisLabel(yAxisFields, CHART_TYPES.COLUMNCHART)}
domain={['auto', 'auto']}
tickFormatter={customFormatter}
allowDataOverflow={false}
/>
Возможно ли это даже с Recharts?