Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
palettes.C
Go to the documentation of this file.
1 /// \file
2 /// \ingroup tutorial_graphics
3 /// \notebook
4 /// This macro draws all the high definition palettes available in ROOT.
5 /// It generates a png file for each palette and one pdf file, with a table of
6 /// content, containing all the palettes.
7 ///
8 /// In ROOT, [more than 60 high quality palettes are predefined with 255 colors each](https://root.cern/doc/master/classTColor.html#C06).
9 ///
10 /// These palettes can be accessed "by name" with `gStyle->SetPalette(num)`. num
11 /// can be taken within the enum given in the previous link. As an example
12 /// `gStyle->SetPalette(kCividis)` will select the following palette.
13 ///
14 /// \macro_image
15 /// \macro_code
16 ///
17 /// \author Olivier Couet
18 
19 TCanvas *c;
20 
21 void draw_palette(int p, TString n){
22  delete c;
23  c = new TCanvas("c","Contours",0,0,500,500);
24  TF2 *f2 = new TF2("f2","0.1+(1-(x-2)*(x-2))*(1-(y-2)*(y-2))",0.999,3.002,0.999,3.002);
25  f2->SetContour(99);
26  gStyle->SetPalette(p);
27  f2->SetLineWidth(1);
28  f2->SetLineColor(kBlack);
29  f2->Draw("surf1z");
30 
31  // Title
32  TPaveText *pt = new TPaveText(10,11,10,11,"blNDC");
33  pt->SetName("title");
34  pt->Draw();
35  TString num = n;
36  num.ReplaceAll(" ","");
37  TLatex *l = new TLatex(-0.8704441,0.9779387,Form("Palette #%d: %s #scale[0.7]{(#font[82]{k%s})}",p,n.Data(),num.Data()));
38  l->SetTextFont(42);
39  l->SetTextSize(0.035);
40  l->Draw();
41  c->Update();
42  c->Print(Form("palette_%d.png",p));
43  if (p==51) {c->Print("palettes.pdf(", Form("Title:%s",n.Data())); return;}
44  if (p==111) {c->Print("palettes.pdf)", Form("Title:%s",n.Data())); return;}
45  c->Print("palettes.pdf", Form("Title:%s",n.Data()));
46 }
47 
48 void palettes() {
49  gROOT->SetBatch(1);
50  c = new TCanvas("c","Contours",0,0,500,500);
51  draw_palette(kDeepSea, "Deap Sea");
52  draw_palette(kGreyScale, "Grey Scale");
53  draw_palette(kDarkBodyRadiator, "Dark Body Radiator");
54  draw_palette(kBlueYellow, "Blue Yellow");
55  draw_palette(kRainBow, "Rain Bow");
56  draw_palette(kInvertedDarkBodyRadiator, "Inverted Dark Body Radiator");
57  draw_palette(kBird, "Bird");
58  draw_palette(kCubehelix, "Cube helix");
59  draw_palette(kGreenRedViolet, "Green Red Violet");
60  draw_palette(kBlueRedYellow, "Blue Red Yellow");
61  draw_palette(kOcean, "Ocean");
62  draw_palette(kColorPrintableOnGrey, "Color Printable On Grey");
63  draw_palette(kAlpine, "Alpine");
64  draw_palette(kAquamarine, "Aquamarine");
65  draw_palette(kArmy, "Army");
66  draw_palette(kAtlantic, "Atlantic");
67  draw_palette(kAurora, "Aurora");
68  draw_palette(kAvocado, "Avocado");
69  draw_palette(kBeach, "Beach");
70  draw_palette(kBlackBody, "Black Body");
71  draw_palette(kBlueGreenYellow, "Blue Green Yellow");
72  draw_palette(kBrownCyan, "Brown Cyan");
73  draw_palette(kCMYK, "CMYK");
74  draw_palette(kCandy, "Candy");
75  draw_palette(kCherry, "Cherry");
76  draw_palette(kCoffee, "Coffee");
77  draw_palette(kDarkRainBow, "Dark Rain Bow");
78  draw_palette(kDarkTerrain, "Dark Terrain");
79  draw_palette(kFall, "Fall");
80  draw_palette(kFruitPunch, "Fruit Punch");
81  draw_palette(kFuchsia, "Fuchsia");
82  draw_palette(kGreyYellow, "Grey Yellow");
83  draw_palette(kGreenBrownTerrain, "Green Brown Terrain");
84  draw_palette(kGreenPink, "Green Pink");
85  draw_palette(kIsland, "Island");
86  draw_palette(kLake, "Lake");
87  draw_palette(kLightTemperature, "Light Temperature");
88  draw_palette(kLightTerrain, "Light Terrain");
89  draw_palette(kMint, "Mint");
90  draw_palette(kNeon, "Neon");
91  draw_palette(kPastel, "Pastel");
92  draw_palette(kPearl, "Pearl");
93  draw_palette(kPigeon, "Pigeon");
94  draw_palette(kPlum, "Plum");
95  draw_palette(kRedBlue, "Red Blue");
96  draw_palette(kRose, "Rose");
97  draw_palette(kRust, "Rust");
98  draw_palette(kSandyTerrain, "Sandy Terrain");
99  draw_palette(kSienna, "Sienna");
100  draw_palette(kSolar, "Solar");
101  draw_palette(kSouthWest, "South West");
102  draw_palette(kStarryNight, "Starry Night");
103  draw_palette(kSunset, "Sunset");
104  draw_palette(kTemperatureMap, "Temperature Map");
105  draw_palette(kThermometer, "Thermometer");
106  draw_palette(kValentine, "Valentine");
107  draw_palette(kVisibleSpectrum, "Visible Spectrum");
108  draw_palette(kWaterMelon, "Water Melon");
109  draw_palette(kCool, "Cool");
110  draw_palette(kCopper, "Copper");
111  draw_palette(kGistEarth, "Gist Earth");
112  draw_palette(kViridis, "Viridis");
113  draw_palette(kCividis, "Cividis");
114 }
115