如何创建可以用作图形输入的DateTime生成器

发布于 2025-02-10 14:42:12 字数 860 浏览 1 评论 0原文

我想使用Plotly绘制实时时间,时间序列数据。但是我需要首先创建DateTime生成器,该生成器将作为图的输入。我还想限制图表以显示最新30分钟记录的数据。

以下代码在JavaScript中,我想在Python中执行类似的操作:

function rand() {
  return Math.random();
}

var time = new Date();

var data = [{
  x: [time],
  y: [rand],
  mode: 'lines',
  line: {color: '#80CAF6'}
}]

Plotly.newPlot('myDiv', data);

var cnt = 0;

var interval = setInterval(function() {

  var time = new Date();

  var update = {
  x:  [[time]],
  y: [[rand()]]
  }

  var olderTime = time.setMinutes(time.getMinutes() - 1);
  var futureTime = time.setMinutes(time.getMinutes() + 1);

  var minuteView = {
        xaxis: {
          type: 'date',
          range: [olderTime,futureTime]
        }
      };

  Plotly.relayout('myDiv', minuteView);
  Plotly.extendTraces('myDiv', update, [0])

  if(++cnt === 100) clearInterval(interval);
}, 1000);
 

I want to plot a real time, time series data using plotly. But I need a datetime generator to be created first that will act as an input to the plot. I also want to limit the graph to show data for latest 30 mins records only.

the below code is in javascript, I want to perform something similar in python:

function rand() {
  return Math.random();
}

var time = new Date();

var data = [{
  x: [time],
  y: [rand],
  mode: 'lines',
  line: {color: '#80CAF6'}
}]

Plotly.newPlot('myDiv', data);

var cnt = 0;

var interval = setInterval(function() {

  var time = new Date();

  var update = {
  x:  [[time]],
  y: [[rand()]]
  }

  var olderTime = time.setMinutes(time.getMinutes() - 1);
  var futureTime = time.setMinutes(time.getMinutes() + 1);

  var minuteView = {
        xaxis: {
          type: 'date',
          range: [olderTime,futureTime]
        }
      };

  Plotly.relayout('myDiv', minuteView);
  Plotly.extendTraces('myDiv', update, [0])

  if(++cnt === 100) clearInterval(interval);
}, 1000);
 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文