gpt4 book ai didi

javascript - D3 条形图未填充。

转载 作者:行者123 更新时间:2023-11-28 07:23:29 28 4
gpt4 key购买 nike

我正在尝试使用 D3 创建条形图。但是,条形图并未填充。以下是我的代码:

 var data = [Math.random(), Math.random(), Math.random(), Math.random(), Math.random(), Math.random()]

var height = 900
var width = 600

var x = d3.scale.linear()
.range([0, width])
.domain([0, d3.max(data)])

var y = d3.scale.linear()
.range([height, 0])
.domain([0, 500])

var svg = d3.select(".barchart").append('svg')
.attr("height", height)
.attr("width", width)

var rect = svg.selectAll('rects')
.data(data)
.enter()
.append('rects')
.attr("height", function(d, i) { return height - y(d) })
.attr("width", function (d, i) { return x(d) })
.attr("x", function(d, i) { return x(i) })
.attr("y", function(d, i) { return y(d) })
.attr("fill", "blue")

最佳答案

问题不止一个,所以我将它们列出来。

更改 x 和 y 比例。你的有点不对劲。

var x = d3.scale.linear()
.range([0, width])
.domain([0, data.length]);

var y = d3.scale.linear()
.range([0, height])
.domain([0, d3.max(data)]);

将“矩形”更改为“矩形”。

var rect = svg.selectAll('rect') // <-- here
.data(data)
.enter()
.append('rect') // <-- and here

最后,x、y、宽度和高度计算的逻辑已关闭。

.attr("height", function(d, i) { return y(d); })
.attr("width", width / data.length - 1)
.attr("x", function(d, i) { return x(i); })
.attr("y", function(d, i) { return height - y(d); })

确保您使用分号。

http://jsfiddle.net/gnouvg6z/

关于javascript - D3 条形图未填充。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30020092/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com