gpt4 book ai didi

javascript - 如何在 timeFormat d3 中添加自定义值?

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

我有一个数据集,日期指定为 date

Q3 1954
Q4 1954
Q1 1955
Q2 1955
Q3 1955
Q4 1955
Q3 1955
Q4 1955
Q1 1956

我希望它位于 x 轴上,并且数据点对应于每个日期。

在 D3 v4 中是否有时间格式来将此类日期系列指定到轴中?

最佳答案

我发现使用 scaleBand() 可以解决这个问题。

这个轴的代码片段是

 var width = 800, height = 800;

var ydata = [10, 15, 20, 25, 30];
var svg = d3.select("body")
.append("svg")
.attr("width", width)
.attr("height", height);

var xaxis = d3.scaleBand()
.rangeRound([0, width])
.padding(1);

d3.csv("static/date.csv", function(data){
xaxis.domain(data.map(function(d) { return d.date; }))

var x_axis = d3.axisBottom()
.scale(xaxis);

var xAxisTranslate = height/2 + 10;

svg.append("g")
.attr("transform", "translate(50, " + xAxisTranslate +")")
.call(x_axis)
});

var yscale = d3.scaleLinear()
.domain([0, d3.max(ydata)])
.range([height/2, 0]);

var y_axis = d3.axisLeft()
.scale(yscale);

svg.append("g")
.attr("transform", "translate(50, 10)")
.call(y_axis);

enter image description here

我还从 enter link description here 找到了文档

感谢@Cyril 抽出时间。

关于javascript - 如何在 timeFormat d3 中添加自定义值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47173783/

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