我想使用Root绘制时间数据图。这些来自以10Hz更新的传感器。根可以应付实时更新图吗?
答案 0 :(得分: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更新根显示,但是在已编译的应用程序中,基于根的存在以较低刷新率进行的“实时”绘图,用于检测器监视。 (我实际上不知道常用的刷新率,但是如果我敢打赌,它将在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;
}