Recharts:隐藏值未定义的栏

Jam*_*lly 6 javascript charts bar-chart reactjs recharts

我有一个 RechartsBarChart组件,一周中的每一天都有 3 个不同的值:primarysecondarytertiary。在某些情况下secondarytertiary没有数据。如果没有数据,我希望Bar映射到这些键的特定组件在那些特定的日子里根本不渲染,但是我正在努力寻找任何方法来做到这一点。

我正在使用BarChart这样的:

<BarChart
  width={700}
  height={500}
  data={data}
>
  <XAxis dataKey="name" />
  <YAxis />
  <Bar dataKey="primary" fill="#009734" />
  <Bar dataKey="secondary" fill="#D97800" />
  <Bar dataKey="tertiary" fill="#C1BEBE" />
</BarChart>
Run Code Online (Sandbox Code Playgroud)

这是我的数据目前的样子:

[{
  name: 'Tue',
  primary: 8,
}, {
  name: 'Wed',
  primary: 7,
  secondary: 5,
}, {
  name: 'Thu',
  primary: 12,
  secondary: 9,
  tertiary: 7,
}]
Run Code Online (Sandbox Code Playgroud)

渲染后,我看到这个:

条形图示例 1

然而,我根本不想将那些无价值的条形图添加到图表中,以便将其他数据移至更中心的位置,并且每日图表会移得更近:

修改后的条形图

这是一个粗略的图像编辑,但我认为它说明了我想要做的事情。

有什么方法可以通过 Recharts 实现这一目标吗?

m3h*_*h0w 1

Recharts 目前不支持此选项。

两年前有一个悬而未决的问题,很可能被回答的人误解了(操作员想要隐藏像你这样的栏 - 条件是丢失数据而不是整个栏,如“隐藏”属性或减少数据将允许)。