javascript - plotly.js 的时间序列失败,w/fiddle

标签 javascript plot plotly

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

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);

最佳答案

Plotly 适用于大量日期,请参阅附件片段。

在你的 fiddle 中,你有一个日期 2016-10-10 12:30:03 后面跟着一个日期 2016-10-10 1:00:03在第一个之前。这可能会导致奇怪的输出。

如果您使用日期,请使用 Date objects , 它们会在转换不同的时间格式时为您省去很多麻烦。

var startTime = new Date();
var dataPoints = 100;
var i = 0;
var y1 = 0;
var x = [];
var y = [];

for (i = 0; i < dataPoints; i += 1) {
    startTime.setTime(startTime.getTime() + (24 * 60 * 60 * 1000));
    x.push(startTime.toDateString());
}

for (i = 0; i < x.length; i += 1) {
    y1 += Math.random();
    y.push(y1)

}

var data = [{
  x: x,
  y: y,
  type: 'scatter',
}];

var layout = {
  title:'Lots of dates'
};

Plotly.newPlot('plotly', data, layout);
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
<div class="graph js-plotly-plot" style="height: 70vh; width:100%" id="plotly">
</div>

关于javascript - plotly.js 的时间序列失败,w/fiddle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40010056/

相关文章:

Javascript: "Share button"在两个评论框 (jsfiddle) 上打开和关闭?

JavaScript 对象设置/获取参数

r - 交错轴标签,ggplot2 中的新功能

python - 如何仅用 3 个已知点制作连续的抛物线弧?

python - 如何在 pandas 的不同位置绘制图表?

python - 使用袖扣设置多个带有移动平均线的子图并离线绘制

javascript - 将动态输入字段的值添加到数组的纯 Javascript 方法

Javascript 验证电子邮件制作问题

plotly - 使用 R 绘图子图避免重复图例会导致缺失点

r - plotly - 在哪里可以找到plotly包中使用的默认调色板