2016-05-06 11 views
0

Gibt es einen Befehl, um mehrere Grafiken von der Befehlszeile/Terminal zu generieren. Ich habe eine .root Datei, die Diagrammobjekte verarbeitet enthält, damit ich bin in der Lage eine einzige grafische Darstellung zu einem Zeitpunkt mit dem Befehl zu zeichnenZeichnen mehrerer TGraphs in ROOT

pAngRateAlld_S0_M0->Draw("Hist"); 

, wenn die Datei mit root -l maplot_20070101_4m.root

Antwort

1

geöffnet wird, nachdem Sie die Datei öffnen mit:

root -l filename.root 

Sie können eine TGraph ziehen mit:

myGraph->Draw("apl"); 

oder mit anderen Optionen wie:

myGraph->Draw("Hist"); 

das Wichtigste ist, zu erkennen, dass dies eine Standard-Leinwand erzeugt. Wenn Sie versuchen, einen anderen Graphen zu zeichnen, wird er im selben Zeichenbereich gezeichnet, d. H. Er ersetzt den letzten.

mehrere Grafiken zu haben, gibt es einige Möglichkeiten:

1) ein Diagramm pro Leinwand: Sie brauchen eine Leinwand für jede Kurve zu erstellen, bevor es Zeichnung:

TCanvas *c1=new TCanvas(); 
myGraph1->Draw("apl"); 
TCanvas *c2=new TCanvas(); 
myGraph2->Draw("apl"); 
etc. 

2) mehrere Grafiken in der gleiches Grundstück:

myGraph1->Draw("apl"); 
myGraph2->Draw("pl same"); 
myGraph3->Draw("pl same"); 

3) Aufspalten die Leinwand:

TCanvas *c1=new TCanvas(); 
c1->Divide(3,3); // divides the canvas into three rows and three columns 
c1->cd(1); 
myGraph1->Draw("apl"); 
c1->cd(2); 
myGraph2->Draw("apl");