假设我有一个包含两个 TGraphs 的宏: T1 和 T2 ,我有一个画布" C "分为两部分:
TCanvas *C = new TCanvas("","",0,0,400,400);
C->Divide(2,1);
当这部分被执行时,blanc画布出现在我的屏幕上,但它变灰了..不活跃!但那没关系,那就继续......
该程序有两个不同的部分,第一部分完成计算进入画布的前半部分并绘制第一个 TGraph :
C->cd(1);
T1->Draw("AP");
此时我希望已经在画布的前半部分看到了图形,但遗憾的是没有出现,画布仍处于非活动状态!该计划进入下一部分:
C->cd(2);
T2->Draw("AP");
同样的故事还没有出现在画布上,但随后执行结束,我回到了root shell,就像这样:
root[#]
现在我可以看到两张图!我想要的是,T1->Draw("AP")
已经执行过的部分应该已经显示在cd(1)
上,然后会出现cd(2)
上的图表。有没有办法实现这个目标?
答案 0 :(得分:3)
好的,我在CERN-ROOT的帖子中找到了一个解决方案:
https://root.cern.ch/phpBB3/viewtopic.php?t=13082
用户“couet”建议使用
--files
C->Modified();
C->Update();
”之后
我将此应用于我的问题并且它有效。