root中有50种(0-50)基本颜色,你可以通过数字使用它们:

root 支持 Web 应用程序的 216 种颜色。 通过色彩索引编码 300-1000 或者色彩名称 kRed、kBlue、kYellow、kPink 等或 kRed+5 等使用。
完整的颜色与数字对应如下:
kWhite = 0, kBlack = 1, kGray = 920, kRed = 632, kGreen = 416,
kBlue = 600, kYellow = 400, kMagenta = 616, kCyan = 432, kOrange = 800,
kSpring = 820, kTeal = 840, kAzure = 860, kViolet = 880, kPink = 900
root 也支持 RGB 色彩编码规则TColor::SetRGB:
root [1] auto *color = gROOT->GetColor(1)
(TColor *) 0x600002c5ff00
root [3] auto *c1 = new TCanvas
root [3] color->SetRGB(0.5,0.5,0.5)
root [4] c1->SetFillColor(color->GetNumber())
root [5] c1->Draw()
// ================================ 不编码使用
root [6] color->SetRGB(241./255, 243./255, 229./255) // SetGRB函数中三位参数用百分比表示
root [7] c1->SetFillColor(color->GetNumber())
root [8] c1->Draw()
// ================================
root [9] TColor *color = new TColor(1000, 0.1, 0.2, 0.3);
Warning in <TColor::TColor>: color 1000 already defined
root [10] c1->SetFillColor(1000)
root [11] c1->Draw()
root [12] TColor *color = new TColor(1500, 0.1, 0.2, 0.3);
root [13] c1->SetFillColor(1500)
root [14] c1->Draw()
root [15] TColor *color = new TColor(1500, 0., 1., 1.);
Warning in <TColor::TColor>: color 1500 already defined
root [16] c1->SetFillColor(1500)
root [17] c1->Draw()
root [18] TColor *color = new TColor(1501, 0., 1., 1.);
root [19] c1->SetFillColor(1501)
// ================================ 编码使用,但是重复编码的颜色不会生效
此函数也用于SetFillColorAlpha()、SetLineColorAlpha()、SetMarkerColorAlpha()和SetTextColorAlpha()。
h1->SetFillColorAlpha(kBlue, 0.35);
在示例中,直方图的填充色为蓝色,不透明度为35%。
使用TCanvas::SetGrayscale()在灰度预览和常规彩色模式之间切换。
{ TColorWheel *w = new TColorWheel(); cw = new TCanvas("cw","cw",0,0,400,400); cw->GetCanvas()->SetGrayscale(); w->SetCanvas(cw); w->Draw();}
