我正在努力学习根,我有一些代码,我可以工作。有时代码的工作,但有时他们不。
{
c1 = new TCanvas("c1", "My Root Plots",600, 400);
c1->Divide(2,2);
c1->cd(1);
f=new TF1("f","[0]*exp(-0.5*((x-[1])/[2])**2)/(sqrt(2.0*TMath::Pi())*[2])",-100,100); f->SetTitle("Gaus;X axis ;Y axis");
f->SetParameter(0,0.5*sqrt(2*TMath::Pi()));
f->SetParameter(1,8);
f->SetParameter(2,5);
f->SetLineColor(3);
f->SetMarkerColor(1);
f->SetMarkerStyle(kOpenStar);
f->SetMarkerSize(5);
f->Draw();
c1->cd(2);
f1 = new TF1("f1", "[0]*x+[1]", 0,50);
f1->SetParameters(10,4);
f1->SetLineColor(5);
f1->SetTitle("ax+b;x;y");
f1->Draw();
}
这是我正在尝试做的代码。代码有点工作,“”你说的有点工作是什么意思“”。我的意思是它给了我一个图表,但你可以看到在我写的代码(f-〉SetMarkerColor(1); f-〉设置标记样式(kOpenStar);)但是图上没有出现标记,终端也没有报错,是不是我的ROOT库不见了?我是新手,不能上传图片。
我有另一个问题。我想分享它,也许它会帮助解决我的问题。
void testRandom(Int_t nrEvents=500000000)
{
TRandom *r1=new TRandom();
TRandom2 *r2=new TRandom2();
TRandom3 *r3=new TRandom3();
TCanvas* c1=new TCanvas("c1","TRandom Number Generators", 800,600); c1->Divide(3,1);
TH1D *h1=new TH1D("h1","TRandom",500,0,1); TH1D *h2=new TH1D("h2","TRandom2",500,0,1); TH1D *h3=new TH1D("h3","TRandom3",500,0,1); TStopwatch *st=new TStopwatch();
st->Start();
for (Int_t i=0; i<nrEvents; i++) { h1->Fill(r1->Uniform(0,1)); } st->Stop(); cout << "Random: " << st->CpuTime() << endl; st->Start();
c1->cd(1); h1->SetFillColor(kRed+1); h1->SetMinimum(0); h1->Draw();
for (Int_t i=0; i<nrEvents; i++) { h2->Fill(r2->Uniform(0,1)); } st->Stop(); cout << "Random2: " << st->CpuTime() << endl; st->Start();
c1->cd(2); h2->SetFillColor(kGreen+1); h2->SetMinimum(0); h2->Draw();
for (Int_t i=0; i<nrEvents; i++) { h3->Fill(r3->Uniform(0,1)); } st->Stop(); cout << "Random3:" << st->CpuTime() << endl;
c1->cd(3);
h3->Draw(); h3->SetFillColor(kBlue+1); h3->SetMinimum(0);
}
这是我试图运行的另一个代码。但是这个代码不工作,它给我这个错误。
警告:调用main()
执行宏失败。请添加此函数或重命名宏。返回.L
。
我尝试了不同的方法,
根目录[1] .x主目录. cpp
根目录[1] .L main.cpp
还是会出现同样错误
1条答案
按热度按时间jk9hmnmh1#
设置标记颜色(1); f-〉设置标记样式(kOpenStar);)但图上没有出现标记。
尝试使用
f->Draw("PL")
而不是f->Draw()
使标记可见。警告:无法调用main()来执行宏。
重命名你的文件,它应该被称为
testRandom.cpp
而不是main.cpp
然后,你可以用.x testRandom.cpp
来执行它。