Draw Past TF1 Range?

Hi, I am trying to plot a function (TF1) that has a strong peak at a given point, and goes imaginary past that point. If I use the SetRange method with the peak as the upper limit, I can draw it, but it looks terrible because most of the function drawn is obscured by the right-side tickmarks.

If I SetRange past the peak location, the drawing fails because it gets imaginary values. I am of the opinion that ROOT should still draw the real values while printing a warning to the user (e.g. like gnuplot), but that’s not how it works.

How do I draw a TF1 with a range, but in a “frame” that is wider than that range? I.e. I’d like to use TF1::SetRange(0,1), but I want the actual axis ranges to go from over (-0.1,1.1). There must be something simple I’m forgetting.


Ok I recalled how to use TCanvas::DrawFrame to first draw a frame then draw the TF1 with the “same” option, but now I can’t figure out how to set axis labels. If I set the axis labels on the TF1, they do not show up with the “same” option, and I can’t find any axis label functions on the TCanvas itself or on the TFrame…

MyCanvas->DrawFrame(xmin, ymin, xmax, ymax, “Global Title;X Axis Title;Y Axis Title”);

Thanks! I ended up figuring out to use DrawFrame (but then I have to hand-tune the vertical scale too), but I thought I had to manually place the axis labels with TText or some such. Using the 5th argument to DrawFrame is much simpler.