Во всплывающей подсказке Recharts отображается то же значение

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

Вот моя реализация:

  <LineChart margin={{ top: 15, right: 5, bottom: 5, left: 10 }}>
    <XAxis
      type='number'
      dataKey='timestamp'
      padding={{ left: 30, right: 30 }}
      domain={['dataMin', 'dataMax']}
      height={90}
      tickFormatter={(unixTime) => dayjs(unixTime).format('MM/DD h:mm A')}
      tickMargin={30}
    />

    <YAxis
      dataKey='Demand'
      tickFormatter={(val, _axis) => numeral(val).format('0,0') + ' kW'}
    />

    {chartData && this.renderLines(chartData, theme)}

    <CartesianGrid strokeDasharray='3 3' />
    <Legend />
    <Tooltip
      content={<LiveDailyDemandTooltip
        format={{
        Demand: '0.0'
          }} />}
    />
  </LineChart>

Где данные выглядят так:

{
  "dataID-1": [
    {Demand: 4237, timestamp: 1564977600000}
    ...
  ],
  "dataID-2": [
    {Demand: 112, timestamp: 1564977600000}
    ...
  ]
}


person Zoidberg    schedule 05.08.2019    source источник
comment
Пожалуйста, предоставьте код для компонента LiveDailyDemandTooltip и, если можете, поместите его все в codeandbox   -  person Ido    schedule 19.08.2019


Ответы (2)


Как упоминалось здесь: https://github.com/recharts/recharts/issues/1625 Вы должны установить для allowDuplicatedCategory значение false в XAxis:

<XAxis allowDuplicatedCategory={false}/>

Это решит проблему повторяющегося значения во всплывающей подсказке.

person cdupont    schedule 21.02.2020

Я смог решить эту проблему, предоставив данные в другом формате. Кажется, что Recharts должны иметь данные, сгруппированные по их значению оси X:

[
  { timestamp: 1564977600000, Demand1: 4237, Demand2: 112 },
  ...
]
person Zoidberg    schedule 17.09.2019