Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
graphShade.C
Go to the documentation of this file.
1 /// \file
2 /// \ingroup tutorial_graphs
3 /// \notebook
4 /// Show how to shade an area between two graphs
5 ///
6 /// \macro_image
7 /// \macro_code
8 ///
9 /// \author Rene Brun
10 
11 void graphShade() {
12  TCanvas *c1 = new TCanvas("c1",
13  "A Simple Graph Example",200,10,700,500);
14 
15  c1->SetGrid();
16  c1->DrawFrame(0,0,2.2,12);
17 
18  const Int_t n = 20;
19  Double_t x[n], y[n],ymin[n], ymax[n];
20  Int_t i;
21  for (i=0;i<n;i++) {
22  x[i] = 0.1+i*0.1;
23  ymax[i] = 10*sin(x[i]+0.2);
24  ymin[i] = 8*sin(x[i]+0.1);
25  y[i] = 9*sin(x[i]+0.15);
26  }
27  TGraph *grmin = new TGraph(n,x,ymin);
28  TGraph *grmax = new TGraph(n,x,ymax);
29  TGraph *gr = new TGraph(n,x,y);
30  TGraph *grshade = new TGraph(2*n);
31  for (i=0;i<n;i++) {
32  grshade->SetPoint(i,x[i],ymax[i]);
33  grshade->SetPoint(n+i,x[n-i-1],ymin[n-i-1]);
34  }
35  grshade->SetFillStyle(3013);
36  grshade->SetFillColor(16);
37  grshade->Draw("f");
38  grmin->Draw("l");
39  grmax->Draw("l");
40  gr->SetLineWidth(4);
41  gr->SetMarkerColor(4);
42  gr->SetMarkerStyle(21);
43  gr->Draw("CP");
44 }