Javascript 直方图的X轴值
如何定义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;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
默认情况下,线性比例的域为[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,我没有意识到违约。