plot.ly在timemode中:固定网格大小



我有一个timemode图表,上面有时间戳x轴。该数据集长度为20秒,绘图。ly在X轴上每2秒自动设置一个tick标签,这很好。

但是,X轴网格线自动设置为tick的位置。我想每秒使用修复Grildline,独立于X轴时间戳/tick。

可能吗?

据我所知,您不能直接这样做,但是您可以通过shapes添加网格。

var data =   {
    x: [],
    y: [],
    type: 'scatter'
  };
var lines = [];
//get a random time series
var startTime = new Date().getTime();
for (var i = 0; i < 20; i += 1) {
    data.x.push(startTime + i * 1000);
    data.y.push(i % 5 * Math.random())
}
//create a line every 1000 msecs
for (i = Math.min(...data.x); i < Math.max(...data.x); i += 1000) {
  lines.push({type: 'line',
              xref: 'x0',
              x0: i,
              x1: i,
              y0: Math.min(...data.y),
              y1: Math.max(...data.y),
              layer: 'below',
              line: {color: 'gray'}
             }
            );
}
var layout = {xaxis: {type: 'date',
                      dtick: 2000,
                      showgrid: false
                     },
              yaxis: {showgrid: false},
              shapes: lines
             };
Plotly.newPlot('myDiv', [data], layout);
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
<div id="myDiv"></div>

最新更新