Javascript 使用plotly.js的时间序列失败,w/fiddle

Javascript 使用plotly.js的时间序列失败,w/fiddle,javascript,plot,plotly,Javascript,Plot,Plotly,我刚开始使用plotly.js,无法绘制时间序列图。如果我用简单的数据点绘制了4或5个日期,那么该图将按预期工作。然而,每当我使用更多的日期,甚至说35个日期,它似乎无法处理它?这看起来很可笑,所以我肯定做错了什么,但看看这个,然后看看这个 Plotly适用于很多日期,请参见附件片段 在你的小提琴中,有一个日期2016-10-10 12:30:03,后面是一个日期2016-10-10 1:00:03,位于第一个日期之前。这可能会导致奇怪的输出 如果您使用日期,则在转换不同的时间格式时,它们将为您

我刚开始使用plotly.js,无法绘制时间序列图。如果我用简单的数据点绘制了4或5个日期,那么该图将按预期工作。然而,每当我使用更多的日期,甚至说35个日期,它似乎无法处理它?这看起来很可笑,所以我肯定做错了什么,但看看这个,然后看看这个


Plotly适用于很多日期,请参见附件片段

在你的小提琴中,有一个日期
2016-10-10 12:30:03
,后面是一个日期
2016-10-10 1:00:03
,位于第一个日期之前。这可能会导致奇怪的输出

如果您使用日期,则在转换不同的时间格式时,它们将为您省去很多麻烦

var startTime=new Date();
var数据点=100;
var i=0;
变量y1=0;
var x=[];
变量y=[];
对于(i=0;i

因此,这里有两件事:

  • 我学到了一个艰难的方法,那就是最好将datetimes与plotly一起使用。我认为它源于潜在的d3,但不确定

  • 你的约会不正常。您不能只对日期进行排序,否则它们将与您的y值相混淆。我创建了一个包含
    日期
    字段的对象数组,然后按
    日期
    排序


  • 我真的想出了这个办法。我使用了moment.js,在时间字符串中添加了'am'和'pm',plotly.js就能够计算出来。谢谢@abalter很高兴你找到了解决方案。
    var x = [ "2016-10-10 12:00:03", "2016-10-11 12:00:03", "2016-10-12 12:00:03"];
    var y = [-6, -7, -7];
    
    console.log("x: ", x)
    console.log("y: ", y)
    
    var trace1 = {
      x: x,
      y: y,
      type: 'scatter'
    };
    
    
    var data = [ trace1 ];
    
    var layout = {
      title:'Line and Scatter Plot'
    };
    
    Plotly.newPlot('plotly', data, layout);