我有一个 csv,其中有一列是类别变量,我想使用 dc.js 在仪表板的 x 轴上设置该变量
我知道我可以将x轴设置为这样(从这个post复制)
.x(d3.scale.ordinal().domain(["", "a", "b", "c"])) // Need empty val to offset first value
.xUnits(dc.units.ordinal) // Tell Dc.js that we're using an ordinal x axis
但是,有什么方法可以用捕获所有这些的变量替换 a
、b
和 c
吗?我的专栏有 20 个不同的类别,我不想手动输入它们。我的代码如下(该列是d.geo
)
var geoValue = ndx.dimension(function (d) {
return d.geo;
});
var geoGroup = geoValue.group();
geoChart
.width(960)
.height(150)
.margins({top: 10, right: 10, bottom: 20, left: 40})
.dimension(geoValue)
.group(geoGroup)
.transitionDuration(500)
.gap(10)
.x(d3.scale.ordinal().domain(SOLUTION GOES HERE))
.xUnits(dc.units.ordinal)
.elasticY(true)
.xAxis().tickFormat();
最佳答案
我认为以下应该有效
.x(d3.scale.ordinal().domain(geoValue))
以下内容对我有用。我也遇到过类似的情况
var carTypeDim = ndx.dimension(function(d) { return d["car-type"]; });
carTypeGroup = carTypeDim.group()
carTypeChartBar
.x(d3.scale.ordinal().domain(carTypeDim))
.xUnits(dc.units.ordinal)
.dimension(carTypeDim)
.group(carTypeGroup);
关于javascript - dc.js:设置具有宽域的分类条形图 X 轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30040025/