DC.js: 无法按降序制作线图
DC.js: Unable to make the line plot in decreasing order
最初我有递减的线图,但是当我进行交叉过滤时,随着 x-axis 标签变得固定,它不会再递减。我希望这个 X-axis 标签是动态的,并根据 y-axis 值进行排列。我无法找到用于这种情况的语法或内容。
我像这样初始化我的图表
lineChart2
.height(600)
.width(lineChart2.width()*0.95) //give it a width
// .margins({top: 10, right: 10, bottom: 20, left: 100})//give it margin left of 100 so that the y axis ticks dont cut off
.dimension(lineTypeDimension)
.group(lineTypeGroup)
.ordering(function(kv) {
console.log("val:",kv.value);
return -kv.value; })
.x(d3.scaleOrdinal( ))
.xUnits(dc.units.ordinal)
.interpolate('linear')
.elasticY(true)
.renderArea(true)
.renderlet(function(chart){chart.selectAll("circle.dot").style("fill-opacity", 1).on('mousemove', null).on('mouseout', null);})
// .renderTitle(true)
.renderLabel(true)
.xAxis().ticks(3).tickFormat(function(d) {
return d;
});
这是工作演示:
https://blockbuilder.org/ninjakx/302eaacb0a333e67c46c55dd60d27811
您可以通过设置
使折线图在每次重绘时重新计算 X 域
lineChart2
.elasticX(true)
该功能最初用于线性比例,以便计算每次重绘的最小值和最大值。序数比例尺的工作方式不同,具有一系列域和范围值,但设置 elasticX 将使图表重新计算比例尺。
最初我有递减的线图,但是当我进行交叉过滤时,随着 x-axis 标签变得固定,它不会再递减。我希望这个 X-axis 标签是动态的,并根据 y-axis 值进行排列。我无法找到用于这种情况的语法或内容。
我像这样初始化我的图表
lineChart2
.height(600)
.width(lineChart2.width()*0.95) //give it a width
// .margins({top: 10, right: 10, bottom: 20, left: 100})//give it margin left of 100 so that the y axis ticks dont cut off
.dimension(lineTypeDimension)
.group(lineTypeGroup)
.ordering(function(kv) {
console.log("val:",kv.value);
return -kv.value; })
.x(d3.scaleOrdinal( ))
.xUnits(dc.units.ordinal)
.interpolate('linear')
.elasticY(true)
.renderArea(true)
.renderlet(function(chart){chart.selectAll("circle.dot").style("fill-opacity", 1).on('mousemove', null).on('mouseout', null);})
// .renderTitle(true)
.renderLabel(true)
.xAxis().ticks(3).tickFormat(function(d) {
return d;
});
这是工作演示: https://blockbuilder.org/ninjakx/302eaacb0a333e67c46c55dd60d27811
您可以通过设置
使折线图在每次重绘时重新计算 X 域lineChart2
.elasticX(true)
该功能最初用于线性比例,以便计算每次重绘的最小值和最大值。序数比例尺的工作方式不同,具有一系列域和范围值,但设置 elasticX 将使图表重新计算比例尺。