D3.js 在D3 v4中创建工作时间刻度?
如何在D3V4中创建一个只显示工作时间的时间刻度和轴 例如,如果我有一个图表,显示每小时开始时队列中的项目数,并且工作日为上午9点到下午5点,那么如何显示连续几天,而不显示下午5点到上午9点之间的所有时间 如果我有超过5天的数据并且能够放大或缩小到任意天数,我还需要去掉周末 我可以用时间间隔过滤功能去除不需要的刻度和标签,但时间刻度本身仍然显示所有的小时D3.js 在D3 v4中创建工作时间刻度?,d3.js,D3.js,如何在D3V4中创建一个只显示工作时间的时间刻度和轴 例如,如果我有一个图表,显示每小时开始时队列中的项目数,并且工作日为上午9点到下午5点,那么如何显示连续几天,而不显示下午5点到上午9点之间的所有时间 如果我有超过5天的数据并且能够放大或缩小到任意天数,我还需要去掉周末 我可以用时间间隔过滤功能去除不需要的刻度和标签,但时间刻度本身仍然显示所有的小时 请检查小提琴- 如果您计划始终显示12个条形图,其中9个来自所选日期,3个来自后天。。。你可以这样做 //set constant times
请检查小提琴- 如果您计划始终显示12个条形图,其中9个来自所选日期,3个来自后天。。。你可以这样做
//set constant timestamps
var timeStamps = ["9am", "10am", "11am", "12pm", "1pm", "2pm", "3pm", "4pm", "5pm", "9am", "10am", "11am"];
//set linear scale
var x = d3.scale.linear()
.domain([0, timeStamps.length])
.range([0, width]);
// Add your axis
svg.append("g")
.attr("transform", "translate(50,0)")
.call(d3.svg.axis().scale(x).ticks(timeStamps.length)
.tickFormat(function(i) {
return timeStamps[i];
}));
请检查小提琴- 如果您计划始终显示12个条形图,其中9个来自所选日期,3个来自后天。。。你可以这样做
//set constant timestamps
var timeStamps = ["9am", "10am", "11am", "12pm", "1pm", "2pm", "3pm", "4pm", "5pm", "9am", "10am", "11am"];
//set linear scale
var x = d3.scale.linear()
.domain([0, timeStamps.length])
.range([0, width]);
// Add your axis
svg.append("g")
.attr("transform", "translate(50,0)")
.call(d3.svg.axis().scale(x).ticks(timeStamps.length)
.tickFormat(function(i) {
return timeStamps[i];
}));
不幸的是,你的两个要求
- “在D3 v4中创建仅显示工作时间的时间刻度和轴”
- “如果我有超过5天的数据,请将周末排除在外”
day 1, 9am --> 0
day 1, 10am --> 1
day 1, 11am --> 2
day 1, 12am --> 3
day 1, 1pm --> 4
day 1, 2pm --> 5
day 1, 3pm --> 6
day 1, 4am --> 7
day 1, 5am --> 8
day 2, 9am --> 9
day 2, 10am --> 10
...etc
然后,您将获得条形图x位置的值:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11...]
使用它们作为定性(而非定量)值,使用您的波段标尺定位条形图。不幸的是,您的两个要求
- “在D3 v4中创建仅显示工作时间的时间刻度和轴”
- “如果我有超过5天的数据,请将周末排除在外”
day 1, 9am --> 0
day 1, 10am --> 1
day 1, 11am --> 2
day 1, 12am --> 3
day 1, 1pm --> 4
day 1, 2pm --> 5
day 1, 3pm --> 6
day 1, 4am --> 7
day 1, 5am --> 8
day 2, 9am --> 9
day 2, 10am --> 10
...etc
然后,您将获得条形图x位置的值:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11...]
使用它们作为定性(而非定量)值,使用您的波段刻度来定位条形图。图形是否总是有12个条形图?从所选日期算起9天,从所选日期算起第二天算起3天,图形是否总是有12条线?从所选日期算起,第9天,第2天算起,第3天算起