graphShade.C

Go to the documentation of this file.
00001 //Show how to shade an area between two graphs
00002 //Author: Rene Brun
00003 void graphShade() {
00004    TCanvas *c1 = new TCanvas("c1",
00005       "A Simple Graph Example",200,10,700,500);
00006 
00007    c1->SetGrid();
00008    c1->DrawFrame(0,0,2.2,12);
00009    
00010    const Int_t n = 20;
00011    Double_t x[n], y[n],ymin[n], ymax[n];
00012    Int_t i;
00013    for (i=0;i<n;i++) {
00014      x[i] = 0.1+i*0.1;
00015      ymax[i] = 10*sin(x[i]+0.2);
00016      ymin[i] = 8*sin(x[i]+0.1);
00017      y[i] = 9*sin(x[i]+0.15);
00018    }
00019    TGraph *grmin = new TGraph(n,x,ymin);
00020    TGraph *grmax = new TGraph(n,x,ymax);
00021    TGraph *gr    = new TGraph(n,x,y);
00022    TGraph *grshade = new TGraph(2*n);
00023    for (i=0;i<n;i++) {
00024       grshade->SetPoint(i,x[i],ymax[i]);
00025       grshade->SetPoint(n+i,x[n-i-1],ymin[n-i-1]);
00026    }
00027    grshade->SetFillStyle(3013);
00028    grshade->SetFillColor(16);
00029    grshade->Draw("f");
00030    grmin->Draw("l");
00031    grmax->Draw("l");
00032    gr->SetLineWidth(4);
00033    gr->SetMarkerColor(4);
00034    gr->SetMarkerStyle(21);
00035    gr->Draw("CP");
00036 }

Generated on Tue Jul 5 15:44:20 2011 for ROOT_528-00b_version by  doxygen 1.5.1