2.3 属性设置
TStyle是用来定义绘图风格的类,它包含所有元素的各种属性设置,如颜色、宽度、填充、字体等,从而创建出符合用户需求的效果。但是TStyle是用于设置全局绘图样式的类,在局部设置中,全局设置TStyle会被覆盖,导致TStyle的设置不生效。所以本章介绍的成员函数均以局部设置的类下呈现。
TStyle 的成员函数:
root [1] TStyle::Set汇总
SetAxisColor
设置轴线颜色
SetBarOffset
设置条形图的偏移量
SetBarWidth
设置条形图的宽度
SetBit
设置位标志
SetCanvasBorderMode
设置画布边框形式
SetCanvasBorderSize
设置画布边框大小
SetCanvasColor
设置画布颜色
SetCanvasDefH
设置画布的默认高度
SetCanvasDefW
设置画布的默认宽度
SetCanvasDefX
设置画布的默认 X 位置
SetCanvasDefY
设置画布的默认 Y 位置
SetCanvasPreferGL
设置是否优先使用 OpenGL 渲染画布
SetCapLinePS
设置 PostScript 中线条的端点样式
SetColorModelPS
设置 PostScript 的颜色模型
SetDateX
设置 X 轴日期显示
SetDateY
设置 Y 轴日期显示
SetDrawBorder
设置是否绘制边框
SetDrawOption
设置绘图选项
SetDtorOnly
设置仅调用析构函数
SetEndErrorSize
设置误差条末端的大小
SetErrorX
设置 X 轴误差条
SetFillAttributes
设置填充属性
SetFillColor
设置填充颜色
SetFillColorAlpha
设置填充颜色的透明度
SetFillStyle
设置填充样式
SetFitFormat
设置拟合结果的格式
SetFrameBorderMode
设置框架边框模式
SetFrameBorderSize
设置框架边框大小
SetFrameFillColor
设置框架内部填充色
SetFrameFillStyle
设置框架内部填充风格
SetFrameLineColor
设置框架线条颜色
SetFrameLineStyle
设置框架线条样式
SetFrameLineWidth
设置框架线条宽度
SetFuncColor
设置函数线条颜色
SetFuncStyle
设置函数线条样式
SetFuncWidth
设置函数线条宽度
SetGridColor
设置网格颜色
SetGridStyle
设置网格样式
SetGridWidth
设置网格宽度
SetHatchesLineWidth
设置阴影线宽度
SetHatchesSpacing
设置阴影线间距
SetHeaderPS
设置 PostScript 文件头
SetHistFillColor
设置直方图填充色
SetHistFillStyle
设置直方图填充风格
SetHistLineColor
设置直方图线条颜色
SetHistLineStyle
设置直方图线条样式
SetHistLineWidth
设置直方图线条宽度
SetHistMinimumZero
设置直方图 Y 轴最小值是否强制为 0
SetHistTopMargin
设置直方图顶部边距
SetImageScaling
设置图像缩放比例
SetIsReading
设置是否正在读取
SetJoinLinePS
设置 PostScript 中线条的连接样式
SetLabelColor
设置标签颜色
SetLabelFont
设置标签字体
SetLabelOffset
设置标签偏移量
SetLabelSize
设置标签大小
SetLegendBorderSize
设置图例边框大小
SetLegendFillColor
设置图例填充颜色
SetLegendFont
设置图例字体
SetLegendTextSize
设置图例文本大小
SetLegoInnerR
设置乐高图内部半径
SetLineAttributes
设置线条属性
SetLineColor
设置线条颜色
SetLineColorAlpha
设置线条颜色的透明度
SetLineScalePS
设置 PostScript 中线条的缩放比例
SetLineStyle
设置线条样式
SetLineStyleString
设置线条样式的字符串表示
SetLineWidth
设置线条宽度
SetMarkerAttributes
设置标记属性
SetMarkerColor
设置标记颜色
SetMarkerColorAlpha
设置标记颜色的透明度
SetMarkerSize
设置标记大小
SetMarkerStyle
设置标记样式
SetName
设置名称
SetNameTitle
设置名称和标题
SetNdivisions
设置轴的分割数
SetNumberContours
设置等高线的数量
SetObjectStat
设置对象统计信息
SetOptDate
设置是否显示日期
SetOptFile
设置文件选项
SetOptFit
设置拟合选项
SetOptLogx
设置 X 轴是否为对数刻度
SetOptLogy
设置 Y 轴是否为对数刻度
SetOptLogz
设置 Z 轴是否为对数刻度
SetOptStat
设置图例的内容
SetOptTitle
设置是否显示标题
SetPadBorderMode
设置 Pad 边框模式
SetPadBorderSize
设置 Pad 边框大小
SetPadBottomMargin
设置 Pad 底部边距
SetPadColor
设置 Pad 颜色
SetPadGridX
设置 Pad 中 X 轴网格
SetPadGridY
设置 Pad 中 Y 轴网格
SetPadLeftMargin
设置 Pad 左边距
SetPadRightMargin
设置 Pad 右边距
SetPadTickX
设置 Pad 中 X 轴刻度
SetPadTickY
设置 Pad 中 Y 轴刻度
SetPadTopMargin
设置 Pad 顶部边距
SetPaintTextFormat
设置文本绘制格式
SetPalette
设置调色板
SetPaperSize
设置纸张大小
SetScreenFactor
设置屏幕缩放因子
SetStatBorderSize
设置统计框边框大小
SetStatColor
设置统计框颜色
SetStatFont
设置统计框字体
SetStatFontSize
设置统计框字体大小
SetStatFormat
设置统计框格式
SetStatH
设置统计框高度
SetStatStyle
设置统计框样式
SetStatTextColor
设置统计框文本颜色
SetStatW
设置统计框宽度
SetStatX
设置统计框 X 位置
SetStatY
设置统计框 Y 位置
SetStripDecimals
设置是否去除小数部分
SetTextAlign
设置文本对齐方式
SetTextAngle
设置文本角度
SetTextAttributes
设置文本属性
SetTextColor
设置文本颜色
SetTextColorAlpha
设置文本颜色的透明度
SetTextFont
设置文本字体
SetTextSize
设置文本大小
SetTextSizePixels
设置文本大小(以像素为单位)
SetTickLength
设置刻度长度
SetTimeOffset
设置时间偏移量
SetTitle
设置标题
SetTitleAlign
设置标题对齐方式
SetTitleBorderSize
设置标题边框大小
SetTitleColor
设置标题颜色
SetTitleFillColor
设置标题填充颜色
SetTitleFont
设置标题字体
SetTitleFontSize
设置标题字体大小
SetTitleH
设置标题高度
SetTitleOffset
设置标题偏移量
SetTitlePS
设置 PostScript 标题
SetTitleSize
设置标题大小
SetTitleStyle
设置标题样式
SetTitleTextColor
设置标题文本颜色
SetTitleW
设置标题宽度
SetTitleX
设置标题 X 位置
SetTitleXOffset
设置标题 X 偏移量
SetTitleXSize
设置标题 X 大小
SetTitleY
设置标题 Y 位置
SetTitleYOffset
设置标题 Y 偏移量
SetTitleYSize
设置标题 Y 大小
SetUniqueID
设置唯一标识符
填充属性包括填充颜色、填充风格、调色板等内容的设置:
2.3.1 填充属性坐标轴属性设置包括轴线、刻度、轴标题等内容的设置:
2.3.2 坐标轴属性文字属性包括颜色、字体等内容的设置:
2.3.3 文字属性线的属性
线的属性设置通常包含颜色、宽度、风格,可以分别通过下面的命令来分别设置:
风格:SetLineStyle(),风格style的重要性体现在如果不先设置风格属性,那么其他属性,如颜色、大小,可能不会生效。
颜色:SetLineColor(),参考2.5.1
宽度:SetLineWidth(),线宽通常宜设置为 2
当然,如果你需要一个带状区域时,也可以简单的使用线宽来调整:
记号属性
记号的属性设置通常包含颜色、风格、线宽、大小,可以分别通过下面的命令来分别设置:
风格:SetMarkerStyle()

注意:
在绘图时应小心使用非对称符号。 这个图表显示了符号的误导性!这两个绘图代表相同的数据集,但由于符号选择不当,顶部的两个绘图看起来比底部示例相距更远。

颜色:SetMarkerColor(),参考2.5.1
线宽:SetMarkerStyle()
通常情况下,你不需要额外设置记号的线宽,但是当你需要着重标注的时候,可以使用SetMarkerStyle()来设置线宽,50 - 67线宽为2、68 - 85线宽为3,以此类推:

大小:SetMarkerSize()
下图显示了各种标记尺寸。默认标记大小=1显示在左上角。可以指定小于1的标记大小。标记大小不指任何坐标系,它是一个绝对值。因此,标记大小不受 TPad 比例变化的影响。等于1的标记大小对应于 8 像素。

图例用法
图例可以用来解释图中的各个部分的名称,他的用法是:TLegend *l = new TLegend(,,,,""),意为新建一个名为l的图例,参数前四位是相对于画布的归一化坐标,(0,0)表示画布的左下角,(1,1)表示画布的右上角。
增加图例内容
使用l->AddEntry(,"")函数为你的图例添加新的解释:
修改图例框
使用SetBorderSize(0)命令关闭图例框在某些情况下图像更加美观
添加阴影
修改位置
设置多列:leg->SetNColumns (2)
画布属性
gPad->SetMargin(,,,)四个参数分别表示左边距、右边距、下边距和上边距的大小。
pad->SetBottomMargin(0.12)
pad-> SetTopMargin (0.04)
pad->SetRightMargin (0.02)
画板属性
自定义画板位置:
设置画布上的画板位置为倒品字形分布:
最后更新于