我有一个d3图,它指定了Y轴上的范围,如下所示:
var yScale = d3.scaleLinear()
.domain([0, 1]) // input
.range([height, 0]); // output
但是0到1的比例不是很有用。我希望它找出适合我的范围。我对此有些陌生,所以我想如果我做了这样的事情:
// Data
var dataset = [{
y: 0.1
},
{
y: 0.6
},
{
y: 0.6
},
{
y: 0.7
}
];
var mymax = Math.max(dataset);
然后我可以在数据集中找到最大值,然后将其输入到我的.domain范围中:
.domain([0, mymax]) // input
但是,我感谢我的尝试是错误的,因为我得到了NaN。我认为它可能指向字母Y,而不是我的数字。
我觉得这不是问题的重复。
答案 0 :(得分:1)
var mymax = Math.max.apply(Math, dataset.map(function(o) { return o.y; }));