gpt4 book ai didi

javascript - 在 D3.js 中创建从 01JAN15 -> 31DEC15 的垂直时间线

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

我正在寻找在 D3.js 中创建从 2015 年 1 月 1 日到 2015 年 12 月底的垂直时间线所需的代码。我想包含任意两个日期的两个条目(通过 JSON)在中间,并用彩色圆圈代表它们。 Canvas 可以是任何大小,我对刻度和轴没有偏好,只要它以某种方式显示日期即可。

我按照示例创建了一个水平的,但我不知道如何才能显示一个垂直的。

这是我已经能够开始使用的示例。

<!DOCTYPE html>
<meta charset="utf-8">
<style>

.axis text {
font: 10px sans-serif;
}

.axis path,
.axis line {
fill: none;
stroke: #000;
shape-rendering: crispEdges;
}

</style>
<body>
<script src="//d3js.org/d3.v3.min.js"></script>
<script>

var format = d3.time.format("%Y-%m-%d");
var startDate = format.parse("2015-01-01");
var endDate = format.parse("2015-12-31");

var margin = {top: 100, right: 100, bottom: 100, left: 100},
width = 960 - margin.left - margin.right,
height = 500 - margin.top - margin.bottom;

var x = d3.time.scale()
.domain([startDate, endDate])
.nice(d3.time.month)
.range([0, width]);

var svg = d3.select("body").append("svg")
.attr("width", width + margin.left + margin.right)
.attr("height", height + margin.top + margin.bottom)
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");

svg.append("g")
.attr("class", "x axis")
.call(d3.svg.axis().scale(x).orient("bottom"));

</script>

我以为我可以在 svg.append 调用中将“x 轴”替换为“y 轴”,并将scale(x) 更改为scale(y),但这给了我一个空屏幕。

最佳答案

所以我修改了以下内容:

  • svg.append("g").call line并将方向从“bottom”更改为“left”
  • d3.time.scale().范围从 [0, width] 到 [height, 0]

问题已解决。垂直时间线。

关于javascript - 在 D3.js 中创建从 01JAN15 -> 31DEC15 的垂直时间线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34005631/

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