ROOT实时更新

问题描述 投票:0回答:1

我想用Root绘制时间数据图。那些来自传感器,以10Hz更新。 root可以应对实时更新图吗?

c++ plot root-framework
1个回答
2
投票

在根提示符下,以下似乎有效:

#include <unistd.h>
TH1F hist("hist","hist",100, -10,10);
TCanvas c;
hist.Draw()
for (int i = 0 ; i < 10000; i++ ) {
  hist.FillRandom("gaus",10);
  hist.Draw();
  usleep(100000);
  c.Update();
}

我还没有看到以10Hz更新根显示的实际应用程序,但是基于已编译的检测器监视应用程序中的root,存在较低刷新率的“实时”绘图。 (我实际上并不知道常用的刷新率,但如果我不得不打赌它会介于1Hz到10Hz之间)。

编辑(编译应用程序的示例)

#include <TApplication.h>
#include <TCanvas.h>
#include <TH1F.h>
#include <unistd.h>

int main(int argc, char** argv) {
  TApplication theApp("App", &argc, argv);
  TH1F hist("hist", "hist", 100, -10, 10);
  TCanvas c;
  hist.Draw();
  for (int i = 0; i < 10000; i++) {
    hist.FillRandom("gaus", 10);
    hist.Draw();
    usleep(100000);
    c.Update();
  }

  return 0;
}
© www.soinside.com 2019 - 2024. All rights reserved.