我有一些数据是嵌套的,看起来有点像这样:
let testData = [
{
animalType: 'Bird',
data: [
{
animalName: 'Raven',
animalLength: 120,
},
{
animalName: 'Hawk',
animalLength: 95,
},
],
},
{
animalType: 'Fish',
data: [
{
animalName: 'Salmon',
animalLength: 105,
},
],
},
{
animalType: 'Mammal',
data: [
{
animalName: 'Dog',
animalLength: 120,
},
{
animalName: 'Cat',
animalLength: 150,
},
],
},
];
我正尝试使用此数据创建Recharts条形图,但不起作用。下面是我需要的图表外观:
因此,每个条都应该是animalLength(和animalName),并且应该在X轴上按animalType分组。我已经尝试了这种方法的每一次迭代,但似乎双重嵌套数据不允许它工作。对于Recharts来说,这样的例子不多,所以我没有一个好主意。This one很接近,但X轴和Y轴的值来自同一个对象。
这是我目前正在使用的条形码。如有任何帮助,将不胜感激。
<BarChart
width={1000}
height={500}
data={testData}
margin={{ top: 40, right: 40, left: 0, bottom: 5 }}>
<XAxis dataKey='animalType' />
<YAxis dataKey='animalLength' />
<CartesianGrid strokeDasharray='3 3' />
{testData.forEach((agency) => {
<Bar type='monotone' dataKey='animalName' />;
})}
</BarChart>
1条答案
按热度按时间bnlyeluc1#
像这样的东西将做的工作,如果在每个动物类型你有1或2个动物名称...如果你有更多,你将需要调整