Javascript 直方图的X轴值

Javascript 直方图的X轴值,javascript,d3.js,histogram,Javascript,D3.js,Histogram,如何定义X轴的值范围 我举了一个例子,它使用0到1范围内的十进制值,这显然不适用于更大的数字 .bar rect{ 填充:钢蓝; } .bar文本{ 填充:fff; 字体:10px无衬线; } //var数据=d3.range1000.mapd3.randomBates10; var数据=[1321017167、1421017167、1421017167、1421017167、1521017167、1521017167、1521017167]; var formatCount=d3.forma

如何定义X轴的值范围

我举了一个例子,它使用0到1范围内的十进制值,这显然不适用于更大的数字

.bar rect{ 填充:钢蓝; } .bar文本{ 填充:fff; 字体:10px无衬线; } //var数据=d3.range1000.mapd3.randomBates10; var数据=[1321017167、1421017167、1421017167、1421017167、1521017167、1521017167、1521017167]; var formatCount=d3.format.0f; var svg=d3.selectsvg, 边距={顶部:10,右侧:30,底部:30,左侧:30}, 宽度=+svg.attrwidth-margin.left-margin.right, 高度=+svg.attrheight-margin.top-margin.bottom, g=svg.appendg.attrtransform,translate+margin.left+,+margin.top+; var x=d3.scaleLinear .rangeRound[0,宽度]; var bins=d3.0直方图 .domainx.domain .阈值X.滴答声20 数据 变量y=d3.scaleLinear .domain[0,d3.maxbins,函数d{return d.length;}] .范围[高度,0]; var bar=g.selectAll.bar .数据库 .enter.appendg .职业,酒吧 .attrtransform,函数d{return translate+xd.x0+,+yd.length+;}; 附加条 .attrx,1 .attrwidth,xbins[0].x1-xbins[0].x0-1 .attrheight,函数d{返回高度-yd.length;}; 条形图追加文本 .attrdy,.75em .attry,6岁 .attrx,xbins[0].x1-xbins[0].x0/2 .attr文本锚定,中间 .textfunctiond{return formatCountd.length;}; g、 附加 .attrclass,轴-x .attrtransform,translate0,+高度+ .calld3.x;
默认情况下,线性比例的域为[0,1]。你只是从Mike Bostock那里复制了代码,而没有更改域。在他的原始代码中,域恰好是默认域,但在您的代码中,您必须定义它:

var x = d3.scaleLinear()
    .rangeRound([0, width])
    .domain(d3.extent(data))//domain here
这里我使用的是d3.extent,但是您可以使用您想要的任何其他数组

以下是仅包含该更改的代码:

.bar rect{ 填充:钢蓝; } .bar文本{ 填充:fff; 字体:10px无衬线; } //var数据=d3.range1000.mapd3.randomBates10; var数据=[1321017167、1421017167、1421017167、1421017167、1521017167、1521017167、1521017167]; var formatCount=d3.format.0f; var svg=d3.selectsvg, 边距={顶部:10,右侧:30,底部:30,左侧:30}, 宽度=+svg.attrwidth-margin.left-margin.right, 高度=+svg.attrheight-margin.top-margin.bottom, g=svg.appendg.attrtransform,translate+margin.left+,+margin.top+; var x=d3.scaleLinear .rangeRound[0,宽度] .domain3.extendData var bins=d3.0直方图 .domainx.domain .阈值X.滴答声20 数据 变量y=d3.scaleLinear .domain[0,d3.maxbins,函数d{return d.length;}] .范围[高度,0]; var bar=g.selectAll.bar .数据库 .enter.appendg .职业,酒吧 .attrtransform,函数d{return translate+xd.x0+,+yd.length+;}; 附加条 .attrx,1 .attrwidth,xbins[0].x1-xbins[0].x0-1 .attrheight,函数d{返回高度-yd.length;}; 条形图追加文本 .attrdy,.75em .attry,6岁 .attrx,xbins[0].x1-xbins[0].x0/2 .attr文本锚定,中间 .textfunctiond{return formatCountd.length;}; g、 附加 .attrclass,轴-x .attrtransform,translate0,+高度+ .calld3.x;
Tnx,我没有意识到违约。