Logo ROOT  
Reference Guide
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
19TCanvas *c;
20
21void 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);
27 f2->SetLineWidth(1);
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
48void 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
#define c(i)
Definition: RSha256.hxx:101
@ kBlack
Definition: Rtypes.h:65
@ kFall
Definition: TColor.h:116
@ kStarryNight
Definition: TColor.h:124
@ kAtlantic
Definition: TColor.h:112
@ kIsland
Definition: TColor.h:118
@ kBlackBody
Definition: TColor.h:113
@ kFruitPunch
Definition: TColor.h:116
@ kArmy
Definition: TColor.h:111
@ kAurora
Definition: TColor.h:112
@ kBrownCyan
Definition: TColor.h:114
@ kBeach
Definition: TColor.h:113
@ kAquamarine
Definition: TColor.h:111
@ kPastel
Definition: TColor.h:120
@ kCubehelix
Definition: TColor.h:109
@ kAvocado
Definition: TColor.h:112
@ kGreenRedViolet
Definition: TColor.h:109
@ kAlpine
Definition: TColor.h:111
@ kVisibleSpectrum
Definition: TColor.h:125
@ kCMYK
Definition: TColor.h:114
@ kInvertedDarkBodyRadiator
Definition: TColor.h:108
@ kWaterMelon
Definition: TColor.h:126
@ kOcean
Definition: TColor.h:110
@ kDarkBodyRadiator
Definition: TColor.h:107
@ kDarkTerrain
Definition: TColor.h:116
@ kLightTemperature
Definition: TColor.h:119
@ kRust
Definition: TColor.h:122
@ kCopper
Definition: TColor.h:126
@ kTemperatureMap
Definition: TColor.h:124
@ kSolar
Definition: TColor.h:123
@ kRedBlue
Definition: TColor.h:121
@ kDeepSea
Definition: TColor.h:107
@ kRainBow
Definition: TColor.h:108
@ kSouthWest
Definition: TColor.h:123
@ kPlum
Definition: TColor.h:121
@ kGreenBrownTerrain
Definition: TColor.h:117
@ kGreyYellow
Definition: TColor.h:117
@ kGreyScale
Definition: TColor.h:107
@ kRose
Definition: TColor.h:122
@ kSunset
Definition: TColor.h:124
@ kCoffee
Definition: TColor.h:115
@ kGreenPink
Definition: TColor.h:118
@ kColorPrintableOnGrey
Definition: TColor.h:110
@ kSienna
Definition: TColor.h:123
@ kBlueYellow
Definition: TColor.h:108
@ kBlueRedYellow
Definition: TColor.h:110
@ kValentine
Definition: TColor.h:125
@ kSandyTerrain
Definition: TColor.h:122
@ kDarkRainBow
Definition: TColor.h:115
@ kViridis
Definition: TColor.h:127
@ kCandy
Definition: TColor.h:114
@ kCherry
Definition: TColor.h:115
@ kNeon
Definition: TColor.h:120
@ kBird
Definition: TColor.h:109
@ kFuchsia
Definition: TColor.h:117
@ kBlueGreenYellow
Definition: TColor.h:113
@ kPearl
Definition: TColor.h:120
@ kPigeon
Definition: TColor.h:121
@ kCividis
Definition: TColor.h:127
@ kCool
Definition: TColor.h:126
@ kLake
Definition: TColor.h:118
@ kMint
Definition: TColor.h:119
@ kGistEarth
Definition: TColor.h:127
@ kThermometer
Definition: TColor.h:125
@ kLightTerrain
Definition: TColor.h:119
#define gROOT
Definition: TROOT.h:404
char * Form(const char *fmt,...)
R__EXTERN TStyle * gStyle
Definition: TStyle.h:412
virtual void SetLineWidth(Width_t lwidth)
Set the line width.
Definition: TAttLine.h:43
virtual void SetLineColor(Color_t lcolor)
Set the line color.
Definition: TAttLine.h:40
The Canvas class.
Definition: TCanvas.h:23
A 2-Dim function with parameters.
Definition: TF2.h:29
virtual void SetContour(Int_t nlevels=20, const Double_t *levels=0)
Set the number and values of contour levels.
Definition: TF2.cxx:901
virtual void Draw(Option_t *option="")
Draw this function with its current attributes.
Definition: TF2.cxx:241
To draw Mathematical Formula.
Definition: TLatex.h:18
A Pave (see TPave) with text, lines or/and boxes inside.
Definition: TPaveText.h:21
virtual void Draw(Option_t *option="")
Draw this pavetext with its current attributes.
Definition: TPaveText.cxx:234
virtual void SetName(const char *name="")
Definition: TPave.h:75
Basic string class.
Definition: TString.h:136
const char * Data() const
Definition: TString.h:369
TString & ReplaceAll(const TString &s1, const TString &s2)
Definition: TString.h:692
void SetPalette(Int_t ncolors=kBird, Int_t *colors=0, Float_t alpha=1.)
See TColor::SetPalette.
Definition: TStyle.cxx:1782
TPaveText * pt
const Int_t n
Definition: legend1.C:16
auto * l
Definition: textangle.C:4