我已经创建了一个分组条形图,并试图将y域设置为最大的条形值。这样做而不是根据数据而改变的静态数字。我对如何在CSV文件中使用d3.max()
多列感到困惑。我试图使它不必使用特定的列名,因为这在其他CSV文件中可能不同。现在列名是cat1、cat2和cat3。我使用的是D3 v7
数据
name,cat1,cat2,cat3
Item 1,50,102,302
Item 2,79,140,330
Item 3,200,180,120
Item 4,104,80,83
Item 5,90,320,130
Item 6,85,114,130
字符串
我有点明白如何使用d3.max()
,但绝对不是在这样的情况下。
下面是我目前使用它的方式。你会看到我在y域中设置了一个350
。现在我只是尝试控制台日志的最大值。我意识到我没有正确地这样做,但不知道如何。
D3
const data = await d3.csv(src);
console.log(d3.max(data, d => {
return d;
}));
// returns {name: 'Item 1', cat1: '50', cat2: '102', cat3: '302'}
// Would like to use the max value
// rather than 350
y.domain([350, 0])
.range([0, height]);
型
感谢你的帮助.
2条答案
按热度按时间xv8emn3q1#
代码说明
我修改了容器中SVG的代码
型
并从CSV文件中动态获取最大值
型
**注意:我并不关注代码的时间复杂度;我只是想解决问题。
k4ymrczo2#
个字符