D3.js V4:如何使用时间和%H:%M:%S格式创建X轴

D3.js V4:如何使用时间和%H:%M:%S格式创建X轴,d3.js,D3.js,我正在尝试创建一个X轴图表,该图表以%H:%M:%S格式显示交易的及时进度 我尝试了以下代码,但它只显示了几年。秒在x轴上显示非常重要。我知道需要使用timeParse,但我不确定如何利用它。我在网上搜索了很多,但没有任何例子 // Add X axis var parseDate=d3.timeParse("%H:%M:%S") var x = d3.scaleTime() .domain([new Date(0,0,0), new Date (12,59,59)])

我正在尝试创建一个X轴图表,该图表以%H:%M:%S格式显示交易的及时进度

我尝试了以下代码,但它只显示了几年。秒在x轴上显示非常重要。我知道需要使用timeParse,但我不确定如何利用它。我在网上搜索了很多,但没有任何例子

  // Add X axis

  var parseDate=d3.timeParse("%H:%M:%S")
  var x = d3.scaleTime()  
  .domain([new Date(0,0,0), new Date (12,59,59)])
  .range([ 0, width ]);

您将需要以下内容:

所需的比例

var x = d3.scaleTime()
  .domain([new Date(1554236172000), new Date(1554754572000)])
  .range([0, width]);
如果轴具有正确的格式和所需的刻度数,则可以使用
.ticks(d3.timeMinute.every(desiredMinutesToHandle))以更好地显示数据

var xAxis = d3.axisBottom(x)
  .tickFormat(d3.timeFormat("%H:%M:%S"))
  .ticks(50);
最后,通过某些转换将axis附加到svg中,以获得良好的外观

svg.append("g")
 .attr("class", "x axis")
 .attr("transform", "translate(0," + height + ")")
 .call(xAxis)
 .selectAll("text")
 .attr("y", -5)
 .attr("x", 30)
 .attr("transform", "rotate(90)")

您需要以下各项:

所需的比例

var x = d3.scaleTime()
  .domain([new Date(1554236172000), new Date(1554754572000)])
  .range([0, width]);
如果轴具有正确的格式和所需的刻度数,则可以使用
.ticks(d3.timeMinute.every(desiredMinutesToHandle))以更好地显示数据

var xAxis = d3.axisBottom(x)
  .tickFormat(d3.timeFormat("%H:%M:%S"))
  .ticks(50);
最后,通过某些转换将axis附加到svg中,以获得良好的外观

svg.append("g")
 .attr("class", "x axis")
 .attr("transform", "translate(0," + height + ")")
 .call(xAxis)
 .selectAll("text")
 .attr("y", -5)
 .attr("x", 30)
 .attr("transform", "rotate(90)")

完美。非常感谢。new Date(1554236172000)的作用是什么?它只创建了一个日期对象,在本例中,我使用了一个带有Unix时间戳的日期构造函数。你可以在这里找到更多信息。非常感谢。new Date(1554236172000)的作用是什么?它只创建了一个日期对象,在本例中,我使用了一个带有Unix时间戳的日期构造函数。你可以在这里找到更多信息