2.3.1 填充属性

基本颜色

ROOT 中有 50 种基本颜色,你可以通过数字使用它们:

明亮颜色

ROOT 支持 Web 应用程序的 216 种颜色。 通过色彩索引编码300-1000或者色彩名称kRedkBluekYellowkPink等或kRed+5等使用。

完整的颜色与数字对应如下:

RGB色彩

ROOT 也支持 RGB 色彩编码规则TColor::SetRGB

透明视图

此函数也用于SetFillColorAlpha()、SetLineColorAlpha()、SetMarkerColorAlpha()SetTextColorAlpha()

在示例中,直方图的填充色为蓝色,不透明度为 35%。

灰度视图

使用TCanvas::SetGrayscale()在灰度预览和常规彩色模式之间切换。

调色板/色带

用颜色的变化表示变量非常有用:这就是“调色板”的概念,设置调色板的函数是:

默认风格为57,还有其他风格63种:

调色板反置

如果调色板的色彩呈现你不满意,可以尝试调色板反置TColor::InvertPalette e.g.

调色板上下限

在绘制图像或热力图时,色带用于表示不同数值范围的颜色。通过设置色带的下限和上限,可以控制绘制图像时所使用的颜色范围。

SetMinimum()将色带的下限设置为某值,确保最小值的数据点在图像中不以颜色显示。

SetMaximum()将色带的上限设置为某值,这意味着色带中最高的数值对应的颜色将被映射为绘制图像中的最高颜色。通过设置上限,可以控制图像中最大值的数据点所显示的颜色。

通过设置色带的下限和上限,可以调整图像的对比度和颜色映射,以更好地展示数据的分布和变化。

使用gPad->SetLogz()设置调色板为log的形式展示

调色板位置

e.g.

调色板刻度

加密和疏松或者单独控制调色板刻度均使用SetContour()函数,例如加密刻度可以使用SetContour(100)

e.g. 独立控制刻度范围

调色板平滑

TColor::CreateGradientColorTable ( UInt_t Number, Double_t Length, Double_t * Red, Double_t * Green, Double_t * Blue, UInt_t NColors, Float_t alpha, Bool_t setPalette = kTRUE )

创建具有多个连接的线性渐变的颜色表的静态函数。

  • Number:渐变的颜色数量,至少为 2。

  • Length:颜色在调色板中的位置。每个元素必须位于[0, 1]上,每个元素必须大于前一个元素。

  • 红、绿、蓝:色值。每个元素必须位于[0, 1]

  • NColors:调色板刻度。

  • alpha:不透明度系数。

  • setPalette:激活新创建的调色板(默认为 true)。

e.g.

调色板颜色

使用的颜色表以当前样式定义。

如果直方图的最小值和最大值相同(平面直方图),则无法绘制颜色图,因此没有绘制任何东西。 要绘制平面直方图,只需设置与垃圾箱内容不同的直方图最小值TH1::SetMinimum()

用于绘制单元格的默认颜色级别数为20。 它可以使用TH1::SetContour()TStyle::SetNumberContours()进行更改。 这个数字越高,单元格之间的颜色变化就越平滑。

TStyle中的调色板可以通过gStyle->SetPalette()进行修改。

所有非空垃圾箱都涂上了油漆。 除非一些垃圾箱有负面内容,否则不会油漆空垃圾箱,因为在这种情况下,空垃圾箱可能不是空的。or

调色板刻度线

移除 bin 的边框

填充风格 Fill Area style

任何类的填充区域样式都可以使用SetFillStyle()方法进行更改。

  • SetFillStyle(4000-4100)意为0%填充(透明)至100%填充(不透明)。

  • gStyle->SetHatchesSpacing()定义阴影之间的间距。

  • gStyle->SetHatchesLineWidth()定义阴影线宽度。适用3100以上。

自动填充颜色

参考2.3图表绘图选项

在其他Pad上绘制调色板

一些参考配色方案

参考


最后更新于