Я пытаюсь построить Даты в BarChart, для которого требуется преобразовать метки времени в соответствующие значения Unix Epoch (т. Е. Секунды с 01.01.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?