Расположите временную метку между двумя галочками на оси X

#reactjs #recharts

Вопрос:

Я пытался отобразить данные с сервера на диаграмме рассеяния по нескольким осям y. Я получаю его отфильтрованным за последние 24 часа, но я изо всех сил пытаюсь отобразить его должным образом, потому что, например, один элемент создается в 23:01, и мне нужно расположить его между отметками 23 и 00 по оси X.

Следующий код является примером за последние 4 часа, потому что на этом датчике у меня все еще нет данных, записанных за последние 24 часа: введите описание изображения здесь

Код, который я создал

 <ResponsiveContainer width="100%" height="100%">
    <ScatterChart
        width={500}
        height={400}
        margin={{
            top: 10,
            right: 10,
            bottom: 10,
            left: 20,
        }}
    >
        <CartesianGrid />
        <XAxis
            dataKey='created'
            domain={['auto', 'auto']}
            name='created'
            tickFormatter={(unixTime) => moment(unixTime).format('HH')}
            type='number'
        />
        <YAxis yAxisId="left" type="number" dataKey="humidity" name="humidity" unit="%" stroke="#8884d8" />
        <YAxis
            yAxisId="right"
            type="number"
            dataKey="temperature"
            name="temperature"
            unit="°"
            orientation="right"
            stroke="#82ca9d"
        />
        <Tooltip
            cursor={{ strokeDasharray: '3 3', }}
            formatter={(value: any, name: any, props: any) => {
                if (name === 'created') {
                    return moment(value).format('HH:mm');
                } else {
                    return value;
                }
            }}
        />
        <Scatter yAxisId="left" name="A school" data={data} fill="#8884d8" />
        <Scatter yAxisId="right" name="A school" data={data} fill="#82ca9d" />
    </ScatterChart>
</ResponsiveContainer>
 

Данные поступают в массив объектов:

 [
  {
   created: 1631199180006,
   humidity: 9,
   idStation: 3,
   name: "Sofia"
   status: "active"
   temperature: 27
  }
]
 

Мой вопрос в том, как настроить правильное расположение галочек по оси X. Я прочитал несколько постов и, на мой взгляд, мне следует создать собственные галочки, но я был бы очень признателен, если бы кто-нибудь подал идеи

Комментарии:

1. Я думаю, что вам нужно использовать свойство tick внутри вашей оси X и передать пользовательский компонент : <xAxis DataKey=»создан» галочка={<customxaxistik />} ……/<customxaxistik />>