我有一个复合条形图/折线图,所有这些都正确显示,但最终条形除外。数据包含8个日期和两组值的维度,一个用于teh bar,另一个用于折线图。我已经检查过dimesnions和groups的内容,并且都是正确的。
图表上的第8个svg存在,但条形图不显示,请参阅附图。 SVG Inspector显示一个rect定义了高度和宽度,但图表上没有显示相应的条。
我玩过.centerBar和.elasticX,.xAxisPadding并没有成功。我也尝试过更改图表尺寸和边距。
用于显示图表的代码:
var firstWeek = d3.min(data, function (d) { return d.Week; });
var lastWeek = d3.max(data, function (d) { return d.Week; });
var compositeKPIChart = dc.compositeChart("#W-chart");
var KPIbChart = dc.barChart(compositeKPIChart);
var KPIlChart = dc.lineChart(compositeKPIChart);
compositeKPIChart.width(width)
.height(0.9*width/2)
.margins({ top: 10, right: 50, bottom: 30, left: 30 })
.dimension(weekDim)
.x(d3.time.scale().domain([firstWeek, lastWeek]))
.xUnits(d3.time.mondays)
.y(d3.scale.linear().domain([0, 100]))
.compose([
dc.barChart(compositeKPIChart).group(barGroup, "%"),
dc.lineChart(compositeKPIChart).group(lineGroup, "Standard")
])
.brushOn(false)
.xAxis().ticks(d3.time.mondays).tickFormat(d3.time.format("%d %b"));
答案 0 :(得分:1)
如果元素存在但未显示,我要检查的第一件事是剪切矩形。您可以在调试器中删除它(或重命名链接以便引用被破坏)以查看丢失的栏。
但这并不能解释为什么它首先缺失。可能是你的X域太小了。请注意,条形图左对齐 - 与相应的刻度线对齐(而线条上的点显然没有宽度),因此您可能需要在域的顶部添加一周以显示条形图。
除了少数情况外,dc.js倾向于从字面上理解域名。
如果是这种情况,我很惊讶{{1}}没有帮助。