我有这个:

但是我希望x轴沿着y=0运行。

理想情况下,我要么把勾标放在顶部,比如蓝色的位置,要么放在图表的底部。
编辑:如何创建图表。
我用的是:
var
ndx = crossfilter(data),
dataDimension = ndx.dimension(d => d.period),
ordinals = data.map(d => d.period),
lossGroup = dataDimension.group().reduceSum(d => d.loss),
offsets = lossGroup.all().map(d => -d.value),
chart;
// The data is like {
// period: Date (start of period, e.g. month),
// start: Integer (number at start of period/end of last period)
// loss: Integer (number lost during period)
// gain: Integer (number gained during period)
// }
chart = dc.barChart(chartElement)
.dimension(dataDimension)
// The first group is the loss
.group(lossGroup)
.stack(dataDimension.group().reduceSum(d => d.start), 'carryforward')
.stack(dataDimension.group().reduceSum(d => d.gain), 'gain')
.stackLayout(d3.layout.stack().offset(layers => offsets))
.x(d3.scale.ordinal(ordinals).domain(ordinals))
.xUnits(dc.units.ordinal)
.elasticY(true)
.renderLabel(false)
// The first group is the loss
.title(item => 'Loss: ' + item.value)
.title('carryforward', item => 'Sustained: ' + item.value)
.title('gain', item => 'Gain: ' + item.value)
.renderTitle(true);
dc.renderAll(); 发布于 2022-06-28 20:26:24
嗯,我猜你是用.stackLayout()来得到负叠加的。由于dc.js没有“查看”这个设置,我不认为有任何内置的东西来偏移轴。您可能需要使用pretransition处理程序来移动它。
至于移动标签,您可以使用.title()代替,就像在这个例子中一样。然后将滴答标签设置为空。
我能想到的最好不过是一句评论,而不是真正的回答。:-)
https://stackoverflow.com/questions/72790360
复制相似问题