2.3.2 坐标轴属性
坐标轴的概念
坐标轴由轴线(axisLine)、刻度(Ticket)、刻度标签(Label)、轴标题(Title)四个部分组成。
SetAlphanumeric
设置轴标签为字母数字格式
SetAxisColor
设置轴的颜色
SetBinLabel
设置指定 bin 的标签
SetBit
设置位标志
SetCanExtend
设置轴是否可以扩展
SetDecimals
设置标签的小数位数
SetDefaults
设置轴的默认属性
SetDrawOption
设置轴的绘制选项
SetDtorOnly
设置仅调用析构函数
SetLabelColor
设置刻度标签颜色
SetLabelFont
设置刻度标签字体
SetLabelOffset
设置刻度标签偏移量
SetLabelSize
设置刻度标签大小
SetLimits
设置轴的范围限制
SetMaxDigits
设置标签的最大数字位数
SetMoreLogLabels
设置在对数刻度下是否显示更多的标签
SetName
设置轴的名称
SetNameTitle
设置轴的名称和标题
SetNdivisions
设置轴的分割数
SetNoAlphanumeric
设置轴标签为非字母数字格式
SetNoExponent
设置标签是否不使用科学计数法
SetObjectStat
设置对象的统计信息
SetParent
设置轴的父对象
SetRange
设置轴的范围
SetRangeUser
设置用户定义的范围
SetTickLength
设置刻度的长度
SetTickSize
设置刻度的大小
SetTicks
设置刻度的显示方式
SetTimeDisplay
设置是否显示时间
SetTimeFormat
设置时间显示的格式
SetTimeOffset
设置时间偏移量
SetTitle
设置轴的标题
SetTitleColor
设置标题颜色
SetTitleFont
设置标题字体
SetTitleOffset
设置标题偏移量
SetTitleSize
设置标题大小
SetUniqueID
设置唯一标识符
坐标轴的轴线
颜色 :
SetAxisColor()gStyle->SetAxisColor(2, "axis")设置 axis 轴为红色。axis指定哪个轴("x","y","z"),如果axis="xyz"设置所有3个轴,否则默认为x。h1->GetXaxis()->SetAxisColorAlpha(2,0.5)设置h1的X轴为红色,透明度为50%。h1->GetXaxis()->SetAxisColor(2)设置h1的X轴为红色。宽度:
坐标轴的边框
与坐标轴对应的位置是边框,TCanvas::????
设置帧边框模式TStyle::SetFrameBorderMode()
设置框架边框大小无效TStyle::SetFrameBorderSize()
颜色:
TStyle::SetFrameFillColor样式:
TStyle::SetFrameFillStyle颜色:
TStyle::SetFrameLineColor线条:
TStyle::SetFrameLineStyle
TStyle::SetFrameLineWidth
坐标轴的刻度
绘制直方图或图表时,可以使用以下命令将网格设置为打开或关闭:
刻度线
TStyle::SetNdivisions()设置绘制轴的分割数gStyle->SetNdivisions(550, "x")设置X轴的一级刻度为0,二级刻度和三级刻度为5。n = N1 + 100\*N2 + 10000\*N3。N1=初级分区的数量。N2=二级划分的数量。N3=第三分区的数量。例如:nndi=0->无刻度线。nndi=2->2个分区,中间有一个刻度线轴的。长度:
TStyle::SetTickLength()设置轴的刻度线长度。设置网格:
gPad->SetGrid()或TCanvas::SetGrid()设置X轴上的网格:gPad->SetGridx(1)或TCanvas::SetGridx(); 设置Y轴上的网格:gPad->SetGridy(1); 在两个轴上设置网格:gPad->SetGrid (1,1)。颜色:
TStyle::SetGridColor()样式:
TStyle::SetGridStyle()宽度:
TStyle::SetGridWidth()
坐标轴的标签
偏移量:
TStyle::SetLabelOffset()。偏移量以 pad 高度的百分比表示。 axis 指定哪个轴 ("x","y","z"),如果 axis="xyz" 设置所有 3 个轴,则默认 = "x"。字体:
SetLabelFont()颜色:
SetLabelColor()标签大小:
SetLabelSize()设置轴标签的大小 尺寸以Pad高度的百分比表示。小数对齐:
SetStripDecimals()将0,0.5,1.25对齐为0.00,0.50,1.25。TGaxis::SetMaxDigits设置轴标签允许的最大位数。偏移:
SetLabelOffset()
e.g.
坐标轴的标题
ROOT 的标题支持 LaTeX 语法。
设置标题的函数是GetX/Yaxis->SetTitle("name"),也可以同时设置标题、x轴标题、y轴标题,方法是SetTitle("graph tittle; x tittle; y tilttle")
同时标题支持自定义:
颜色:
SetTitleColor()大小:
SetTitleSize()字体:
SetTextFont()距离/偏移:
SetTitleOffset()设置轴和轴标题之间的距离。偏移量=1使用标准位置,该位置根据标签偏移量和尺寸计算;偏移量=1.2将使标准偏移量增加20%。标题居中:
CenterTitle(true)
坐标轴的范围
合理控制的轴范围,能够更好表达数据变化。root 可以自动选取轴的范围,如果自动的呈现效果不满意,root 也支持手动调整。
对于未分 bin 的数据,例如图表,更改轴范围使用TAxis::SetLimits(xmin, xmax)函数;
对于已分 bin 的数据,请清除缓存后再使用SetLimits函数,参见。
直方图轴范围使用TAxis::SetRange(number bin1, number bin2)函数修改,参数是分 bin 的编号的位置:
使用“用户坐标”而不是 bin 编号来设置范围更方便。且允许用户直接在直方图对象上TH::SetAxisRange(min, max, "axis")设置轴范围,而无需使用Get[XYZ]axis()。e.g.
等价于:
支持绘制图形后更改轴范围:
也可以绘制图表框架TCanvas::DrawFrame(,,,)。此方法允许指定比原始范围更大的轴范围。e.g.
调整坐标极值
下限:TGraph::SetMinimum();TH::SetMinimum()
上限:TGraph::SetMaximum();TH::SetMaximum()。
双轴画法
双轴画法是一种作图技巧,通过在画面中同时运用两个或多个对称轴,以达到对称和平衡或突出、方便对比等效果。最简单的呈现效果是使用gPad:
gPad->SetMargin(10,10,10,10)看不见
利用透明画布
利用缩放
反轴画法
参考2.3节图形的绘图选项
多轴画法
断轴画法
共用轴/拼接轴画法
共轴画法是一种常见的绘图技巧,在同一张 canvas 中绘制多图并共享 X 轴或 Y 轴。这种方式常用于比较不同数据集之间的趋势或关系。最简单的共轴画法是TCanvas::Divide(numberx, numbery, 0)。
参考数据可视化多图画法。
对数轴画法
对数轴是Tcanvas的类,所以设置对数轴,需要先建立画布。
使用SetLogx()和SetLogy()命令来设置画布的X轴和Y轴为对数坐标轴。E.g.
SetLogx(0)和SetLogy(1)分别表示取消x对数轴和设置y轴为对数轴,不含参数默认设置对数轴。
时间轴画法
极坐标轴画法
参考2.3节图形的极坐标图案
笛卡尔坐标系

画布边距
e.g.
参考
最后更新于