Javascript 如何在人力车的X轴上绘制日期

Javascript 如何在人力车的X轴上绘制日期,javascript,d3.js,rickshaw,Javascript,D3.js,Rickshaw,我有一套日期数据。我应该提供什么样的X轴值?如何使人力车将X数据值显示为日期 我查看了文档和示例,没有找到任何内容。我终于发现X轴值应该是历元时间值。然后,使用示例中的代码,我能够显示一个适当的时间刻度 我仍然有一个问题,因为我想在X轴上显示周的记号。但是,将timeUnit设置为“week”会导致JavaScript错误。不过,它也适用于其他时间单位。除了拉尔斯的回复之外,我发现默认情况下,人力车正在呼叫 .toUTCString(x.value*1000) //(just ctrl+F t

我有一套日期数据。我应该提供什么样的X轴值?如何使人力车将X数据值显示为日期


我查看了文档和示例,没有找到任何内容。

我终于发现X轴值应该是历元时间值。然后,使用示例中的代码,我能够显示一个适当的时间刻度


我仍然有一个问题,因为我想在X轴上显示周的记号。但是,将timeUnit设置为“week”会导致JavaScript错误。不过,它也适用于其他时间单位。

除了拉尔斯的回复之外,我发现默认情况下,人力车正在呼叫

 .toUTCString(x.value*1000) //(just ctrl+F to find where =) ). 
在我的例子中,由于这个原因,我在X上看到了石墨和人力车不同的时间标签,当我把它改为

 .toLocaleString(x.value*1000). 

另外,您可能需要在两个位置修改此选项:Rickshaw.Graph.Axis.Time和…HoverDetails

我刚刚开始使用人力车,并且正处于这种情况

但是,在我进一步讨论之前,Rickshaw文档实际上是不存在的,这非常令人不安,因为与其他JS图形库相比,Rickshaw的性能非常出色

找到示例的最佳方法是深入了解github页面上的源代码和示例代码,并尝试理解一些事情(而不是文档应该采用的方式)

话虽如此,让我们尝试在StackOverflow上建立一个强大的问题/答案库

那么,回到问题:)看起来你已经找到了自己的解决方案,但我也会提供我的解决方案

我没有使用
Rickshaw.Graph.Axis.Time
,而是使用
Rickshaw.Graph.Axis.X
并相应地设置
格式

var data = [ { x: TIME_SINCE_EPOCH_IN_SECONDS, y: VALUE }, 
             { x: NEXT_TIME_SINCE_EPOCH_IN_SECONDS, y: NEXT_VALUE } ]

var xAxis = new Rickshaw.Graph.Axis.X({
  graph: graph,
  tickFormat: function(x){
                return new Date(x * 1000).toLocaleTimeString();
              }
})
xAxis.render();
toLocaleTimeString()可以是任何Javascript日期函数,例如toLocaleString()toLocaleDateString()toTimeString(),或toutString()。显然,因为tickFormat将函数作为参数,所以可以提供自己的格式化程序


Koliber,如果您能提供更多细节,我很想了解您的答案。

这些都不适合我。与angularjs合作的是:


'x':d3.time.format.iso.parse(date.getTime(),'y':10

您看到了吗?是的。我已经看了这些例子。我现在发现我的轴没有很好地显示出来,因为我没有包含css。但我仍然没有弄清楚如何提供日期数据并将其呈现为日期。这些示例生成随机数据,我不知道它是哪种格式。我想最简单的方法是将保存数据的变量打印到调试控制台,以便您可以查看它。您看过人力车文档中的“轴和记号”部分吗?您可以使用d3格式函数,如下所示:var xAxis=d3.svg.axis().scale(x).orient(“底部”).tickFormat(d3.time.format(“%m-%d”);你解决了这个星期的问题吗?我有完全相同的问题。我有一个类似的问题,一直无法找到解决办法。我的数据是当天部分时间的分钟数据(从8:45:00到13:15:00)。请您分享一下您的代码好吗?示例代码中的函数名被错误地提供为“toLocaleString”,而它应该是“toLocaleString”。无法进行编辑,因为“编辑必须是6个字符”。:/我还应该说声谢谢,因为这个解决方案正是我所需要的。干杯