Hi Ray, May be you will get some inspiration from the following example: Rene Brun void ray() { TCanvas *c1 = new TCanvas("c1"); TF1 *f1 = new TF1("f1","0.7*x*x*x+x*x",0,4); f1->Draw(); TF1 *f2 = new TF1("f2","x*x*x-x*x",0,4); f2->Draw("lsame"); c1->Update(); const Int_t np = 10, npf = 20; //first fill area below a sub-range of f2 Double_t x[np+3], y[np+3]; Double_t xmin = 2; Double_t xmax = 3; Double_t dx = (xmax-xmin)/(np-1); for (Int_t i=0;i<np;i++) { x[i] = xmin + dx*i; y[i] = f2->Eval(x[i]); } x[np] = x[np-1]; y[np] = c1->GetUymin(); x[np+1] = x[0]; y[np+1] = y[np]; x[np+2] = x[0]; y[np+2] = y[0]; TGraph *gr = new TGraph(np+3,x,y); gr->SetFillStyle(3008); gr->SetFillColor(2); gr->Draw("lf"); //second fill area between f1 and f2 Double_t xf[2*npf+1], yf[2*npf+1]; Double_t xfmin = 1.5; Double_t xfmax = 3.5; Double_t dxf = (xfmax-xfmin)/(npf-1); for (Int_t i=0;i<npf;i++) { xf[i] = xfmin + dxf*i; yf[i] = f2->Eval(xf[i]); xf[npf+i] = xfmax - dxf*i; yf[npf+i] = f1->Eval(xf[npf+i]); } xf[2*npf] = xf[0]; yf[2*npf] = yf[0]; TGraph *grf = new TGraph(2*npf+1,xf,yf); grf->SetFillStyle(3024); grf->SetFillColor(4); grf->Draw("lf"); } On Wed, 14 Aug 2002, Ray Fliller III wrote: > > Hello Rooters, > > I have two TF1's. lets call them f1 and f2. I want to draw them > both on the same canvas, and fill in the area between them. It draw > them on the same canvas is easy, but how do I fill in the area between > them?? > > Even more generally, I have some enclosed area on a TPad, how would I > fill in this area? For example to show integral(x^3-x^2,x=2..3) > graphically. > > > -- > > RAINMAN > "How much does a piece of gum cost Ray?" > "About $100." > "How much does a new car cost Ray?" > "`Bout $100." > "There goes working for NASA!" > > ================================================================== > Ray Fliller: rfliller@bnl.gov Office Phone: (631)-344-6124 > C-A Accelerator Physics Dept. Fax: (631)-344-5954 > Building 911B > Brookhaven National Lab > Upton, NY 11973 Office: Room 211 > > http://www.agsrhichome.bnl.gov/People/rfliller/ > ================================================================== >
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:04 MET