gpt4 book ai didi

javascript - D3 Y 比例,y 与高度?

转载 作者:行者123 更新时间:2023-11-30 08:43:44 24 4
gpt4 key购买 nike

我正在学习 D3,我可以看到我用这两个东西获得了相同的可视化效果:

var w = 600;var h = 100;var dataset = [1, 6, 3, 4, 10, 4, 9]var svg = d3.select("body").append("svg")    .attr("height", h)    .attr("width", w)var xScale = d3.scale.linear()    .domain([0, dataset.length])    .range([0, w]);

使用高度属性:

 var yScale = d3.scale.linear()    .domain([0, d3.max(dataset)])    .range([h, 0]);svg.selectAll("rect")    .data(dataset)    .enter()    .append("rect")    .attr({        x: function(d, i) { return xScale(i); },        y: function(d) { return yScale(d); },        width: w / dataset.length,        height: function(d) { return h - yScale(d); },        fill: "teal"    });

enter image description here

或者设置y:

var yScale = d3.scale.linear()    .domain([0, d3.max(dataset)])    .range([0, h]);svg.selectAll("rect")    .data(dataset)    .enter()    .append("rect")    .attr({        x: function(d, i) { return xScale(i); },        y: function(d) { return h - yScale(d); },        width: w / dataset.length,        height: function(d) { return yScale(d); },        fill: "teal"    });

enter image description here

哪个更正确,如果是,为什么?

最佳答案

现在我进入了后面的章节,似乎以前的选项在创建 yAxis 时使用 range([h, 0]) 更好。如果我使用后一个选项 range([0, h]),图形如下所示(没有 yAxis 调用的转换:

enter image description here

这通常不是人们想要的。

关于javascript - D3 Y 比例,y 与高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23849680/

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