最初,我的线图越来越小,但是当我进行交叉过滤时,随着x轴标签变得固定,它将不再减少。我希望此X轴标签是动态的,并在y轴值的基础上进行排列。在这种情况下,我找不到语法或要使用的语法。
我初始化图表类似
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将使图表重新计算比例尺。