【发布时间】:2018-10-06 09:24:43
【问题描述】:
我有一个 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 而不是我的数字。
我不觉得这是问题的重复。
【问题讨论】:
-
@GerardoFurtado 只是出于兴趣,为什么 d3.max 在这里不合适?
-
@Jimmy 与
Math.max不同,d3.max接受一个数组。其实d3.max是这里最好的选择,只是使用访问器来指定属性。 -
正如他所说,他只是出于兴趣才问的。另外,我已经说过我看错了,我已经重新提出了这个问题。我们可以继续前进吗?
-
@x-ray 再次:我看错了。如果我忽略 S.O.,我会有更多用处。一会儿,我从现在开始。
-
@GerardoFurtado 感谢您的信息:)
标签: javascript json d3.js