This tutorial demonstrates how to create simple graphs in ROOT.
The example is divided into two sections:
- The first section plots data generated from arrays.
- The second section plots data read from a text file.
Èpßïÿ~
import re
import numpy as np
import ROOT
c1 = ROOT.TCanvas("c1", "Two simple graphs", 200, 10, 700, 500)
c1.Divide(
2, 1
)
c1.cd(1)
n = 20
x = np.linspace(0, n - 1, n)
y = 10 * np.sin(x + 0.2)
gr1 = ROOT.TGraph(n, x, y)
gr1.SetLineColor(2)
gr1.SetLineWidth(4)
gr1.SetMarkerColor(4)
gr1.SetMarkerStyle(21)
gr1.SetTitle("Graph from available data")
gr1.GetXaxis().SetTitle("X title")
gr1.GetYaxis().SetTitle("Y title")
gr1.Draw(
"ACP"
)
c1.cd(2)
w = np.array([])
z = np.array([])
with open(f"{ROOT.gROOT.GetTutorialDir()}/visualisation/graphs/data_basic.txt") as file:
for line in file:
w_str, z_str = re.split(r"\s+", line)[:2]
w = np.append(w, float(w_str))
z = np.append(z, float(z_str))
gr2 = ROOT.TGraph(m, w, z)
gr2.SetLineColor(4)
gr2.SetLineWidth(2)
gr2.SetMarkerColor(2)
gr2.SetMarkerStyle(20)
gr2.SetTitle("Graph from data file")
gr2.GetXaxis().SetTitle("W title")
gr2.GetYaxis().SetTitle("Z title")
gr2.Draw("ACP")
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t UChar_t len
- Author
- Rene Brun, Jamie Gooding
Definition in file gr001_simple.py.