![](/img/trans.png)
[英]dc.js Stacked Bar Chart having only one column and with elastic X Axis is not rendered properly
[英]Display x axis properly on stacked bar chart
嘿,我在放置堆疊條形圖時遇到困難。 它正在顯示,我只是很難宣布它是x軸。 這是jsfiddle: http : //jsfiddle.net/E2HST/
var xTimeScale = d3.time.scale().
domain([new Date(data[0].date), d3.time.day.offset(new Date(data[data.length - 1].date), 1)])
.range([0, width]);
這顯然是問題的一部分,我拉了代碼,不幸地陷入了無法完全理解它的陷阱。
var bars = svg.selectAll(".bar")
.data(data).enter()
.append("g")
.attr("class","bar")
.attr("transform", function(d){
return "translate("+xTimeScale(d.date)+",0)"
})
我已經嘗試在d.year中將d.date交換為d.date,因為沒有更多的d.date,但是它拋出了錯誤。 任何幫助將不勝感激。
簡單的答案是data
數組中的對象沒有date
鍵,因此xTimeScale
域是未定義的。 糾正此問題的簡單方法是為每個數據項創建此密鑰:
data.forEach( function(d) { d.date = new Date(d.year, 0, 1); });
它將日期創建為year
1月1 year
。 這基本上可以解決您的x軸問題。
但是,我建議您的數據更適合使用序數刻度 ,因為您只有年度數據。
其他一些小問題:
.axis
元素添加CSS樣式,以提高可讀性 這些細微變化的更新小提琴位於http://jsfiddle.net/E2HST/1/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.