我试图在我的pyROOT代码中限制我的x轴。现在x轴太长了,使我所画的波形看上去太薄了。我需要将x轴的范围限制在大约(130,240),但是我尝试的每一件事都有一个错误,所以我需要帮助。每当我在代码中使用->时,它都会给我一个语法错误,我不知道为什么。下面是我的代码,我需要添加x轴限制。谢谢。。
import sys
sys.path.insert(1, "/home/diffuserdaq/DiffuserAnalysis/scripts")
import matplotlib
import matplotlib.pyplot as plt
import plot_waveformCOPY
from utilities.readscan import readscan
import ROOT
data = readscan("/home/diffuserdaq/DiffuserSetup/Oct13th_1.root","diffuser")
s0= data.scanpoints[0]
tgraph = ROOT.TGraph(len(s0.axis_time),s0.axis_time,s0.samples_PMT)
canvas = ROOT.TCanvas()
tgraph.Draw("ALP")
canvas.Print("plot.pdf")
gauss = ROOT.TF1("gaus","gaus",150,200)
gauss.SetParameter("Constant",-1.55)
gauss.SetParameter("Mean",185)
gauss.SetParameter("Sigma",5.0)
gauss.SetParLimits(0,-2.0,0.0)
gauss.SetParLimits(1,150.0,200.0)
gauss.SetParLimits(2,0.0,20.0)
fit_results = tgraph.Fit(gauss,"VBRS")
print("Fit Results",fit_results)
input(" press key to stop")发布于 2022-03-11 13:10:21
在调用canvas.Print("plot.pdf")之前,您可以尝试:
tgraph.GetXaxis().SetRangeUser(130, 240)关于->操作符的用法,在Python中它的含义与它在C++上的含义不同,所以您不应该在访问类成员的上下文中使用它。始终使用点运算符代替。
https://stackoverflow.com/questions/70666851
复制相似问题