这是我的一段代码,我无法获取垃圾箱中的数据。 我是d3的新手,我认为序数或规模带有一些问题。任何人都可以提供帮助。
dom = (data.map(function(d) { return d[attri]; }));
x = d3.scaleBand()
.range([0,width])
.paddingInner([0.1])
.paddingOuter([0.3])
.align([0.5]);
x.domain(dom);
bins = d3.histogram()
.domain(x.domain)
(mydata);
答案 0 :(得分:0)
这里有两个问题。
第一个问题,domain
作为一个吸气剂(以及作为一个设定者)有括号:
x.domain()
但是,遗憾的是,这不能修复您的代码,您无法做到:
bins.domain(x.domain())
...用于您的直方图域,具有您的比例。原因是第二个问题:
在d3直方图中,domain
是一个包含两个值(最小值和最大值)的数组。根据文件:
如果指定了domain,则将域访问器设置为指定的函数或数组并返回此直方图生成器[...]直方图域定义为数组[min,max],其中min是最小可观察值, max是最大可观察值;两个值都是包容性的。生成直方图时,将忽略此域之外的任何值。 (source)
但是,现在,您的x.domain()
是一个包含多个值的数组(来自data.map
)。您可以x.domain()
设置直方图域,如果您的比例是线性的。
因此,请正确设置直方图域。