我正在寫一個簡單的條形圖,爲每一塊數據繪製矩形元素。這是我的代碼無鱗,其正常工作的一部分:D3秤搞砸了我的條形圖
const rect = svg.selectAll("rect")
.data(dataset)
.enter()
.append("rect")
.attr("x", (d, i) => (i*4))
.attr("y", (d) => h - d[1]/50)
但是,如果我加y標尺,我的酒吧翻轉過來,如果我添加X-規模,我只能看到一個酒吧。這裏是我的代碼規模:
const xScale = d3.scaleLinear()
.domain([0, d3.max(dataset, (d) => d[0])])
.range([padding, w - padding]);
const yScale = d3.scaleLinear()
.domain([0, d3.max(dataset, (d) => d[1])])
.range([h - padding, padding]);
//some other code
const rect = svg.selectAll("rect")
.data(dataset)
.enter()
.append("rect")
.attr("x", (d, i) => xScale(i*4))
.attr("y", (d) => yScale(d[1]/50))
這裏是我的CodePen有鱗片,這就是它的樣子:http://codepen.io/enk/pen/vgbvWq?editors=1111
我會非常感激,如果有人告訴我,我在做什麼錯。
如果你想讓你的xAxis代表時間,你應該使用'scaleTim e'而不是'scaleLinear'。 –