ROOT中的实时更新



我想使用Root绘制时间数据图。这些来自以10Hz更新的传感器。root能处理实时更新的图形吗?

在根提示上,以下内容似乎有效:

#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显示的应用程序,但在用于检测器监测的编译应用程序中,存在基于root的以较低刷新率进行"实时"绘图的应用程序。(我实际上不知道常用的刷新率,但如果我必须打赌的话,它会在1Hz到10Hz之间(。

EDIT(编译应用程序示例(

#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;
}

最新更新