HotXLS 文档

TXLSXChartAxis 类

Unit: lxHandleX
类别、值、日期和系列坐标轴的类型化描述符,适用于主要、次要和三维图表坐标轴

说明

每个图表都拥有主要和次要的类别轴与值轴,以及一条系列深度轴;轴类型可以保持自动,也可以设置为类别、值、日期或系列,而导入的轴标识符和交叉链接在多个保存周期内保持稳定

声明

type
  TXLSXChartAxis = class
    property Kind: TXLSXChartAxisKind;
    property Position: TXLSXChartAxisPosition;
    property AxisId: Integer;
    property CrossAxisId: Integer;
    property Visible: Boolean;
    property Title: WideString;
    property LogBase: Double;
    property Orientation: TXLSXChartAxisOrientation;
    property MajorGridlines: Boolean;
    property MinorGridlines: Boolean;
    property MinValue: Double;
    property MaxValue: Double;
    property MajorUnit: Double;
    property MinorUnit: Double;
    property MajorUnitSet: Boolean;
    property MinorUnitSet: Boolean;
    property CrossesAt: Double;
    property TickLblPos: WideString;
    property Crosses: TXLSXChartCrosses;
    property CrossesSet: Boolean;
    property MajorTickMark: TXLSXChartTickMark;
    property MinorTickMark: TXLSXChartTickMark;
    property DispUnits: Double;
    property ShowDispUnitsLabel: Boolean;
    property BaseTimeUnit: TXLSXChartTimeUnit;
    property MajorTimeUnit: TXLSXChartTimeUnit;
    property MinorTimeUnit: TXLSXChartTimeUnit;
    property BaseTimeUnitSet: Boolean;
    property MajorTimeUnitSet: Boolean;
    property MinorTimeUnitSet: Boolean;
    property AutoDateAxis: Boolean;
    property AutoDateAxisSet: Boolean;
    property NumberFormat: WideString;
    property NumberFormatSourceLinked: Boolean;
    property NumberFormatSet: Boolean;
    property LabelInterval: Integer;
    property TickMarkInterval: Integer;
    property NoMultiLevelLabels: Boolean;
    property TextStyle: TXLSXChartTextStyle;
    property TitleTextStyle: TXLSXChartTextStyle;
    property TitleLayout: TXLSXChartLayout;
    procedure Assign(Source: TXLSXChartAxis);
    procedure AssignClassicDateAxis(Source: TXLSChartAxis);
  end;

属性

Kind轴类型 — 自动、类别、值、日期或系列
Position坐标轴在绘图区中的位置 — normal、low 或 high
AxisId跨保存周期保持稳定的坐标轴标识符
CrossAxisId与此轴相交的另一条坐标轴的标识符
Visible是否渲染该坐标轴
Title坐标轴标题文本
LogBase对数刻度的底数;零表示线性
Orientation坐标轴方向 — 正向或反向
MajorGridlines按主单位间距显示主要网格线
MinorGridlines按次单位间距显示次要网格线
MinValue固定最小值;NaN 表示自动
MaxValue固定最大值;NaN 表示自动
MajorUnit主网格线的间距;零表示自动
MinorUnit次网格线的间距;零表示自动
MajorUnitSet是否显式存在正的主单位值
MinorUnitSet是否显式存在正的次单位值
CrossesAt交叉轴的相交位置值;NaN 表示自动
TickLblPos刻度标签位置 — 'nextTo'、'low'、'high' 或 'none'
Crosses坐标轴交叉模式。给 Crosses 赋值会写出 <c:crosses val="..."/> 而不是自动交叉;显式设置 CrossesAt 时仍以它为准(两者同时设置属于非法 OOXML,以 CrossesAt 为优先)
CrossesSet交叉模式是否已被显式设置
MajorTickMark主刻度线的样式,绘制在主网格线交点上
MinorTickMark次刻度线的样式,绘制在次网格线交点上
DispUnits显示单位缩放系数(10、100、1000 ...)或内建单位;零表示禁用
ShowDispUnitsLabel在坐标轴旁显示单位标签('Thousands'、'Millions' 等)
BaseTimeUnit日期轴的基准时间单位;赋值即视为显式设置,即使值是 xlsxChartTimeDays
MajorTimeUnit日期轴的主时间单位;赋值即视为显式设置
MinorTimeUnit日期轴的次时间单位;赋值即视为显式设置
BaseTimeUnitSet控制是否输出 baseTimeUnit;False 保留源文件中被省略的元素,而不是写入显式的天单位
MajorTimeUnitSet控制是否独立于 MajorUnit 输出 majorTimeUnit
MinorTimeUnitSet控制是否独立于 MinorUnit 输出 minorTimeUnit
AutoDateAxis显式的日期轴自动类别检测值
AutoDateAxisSet控制是否输出日期轴的 auto 元素
NumberFormat应用到坐标轴标签的数字格式;赋值即视为显式设置
NumberFormatSourceLinked坐标轴标签格式是否跟随源数据;赋值即视为显式设置
NumberFormatSet控制是否输出 ChartML 的 numFmt 元素
LabelInterval类别标签之间的间隔
TickMarkInterval类别轴上刻度线之间的间隔
NoMultiLevelLabelsTrue 时只显示最末级类别层级,并写入类别轴的 noMultiLvlLbl 开关
TextStyle刻度标签的文本样式
TitleTextStyle坐标轴标题的文本样式
TitleLayout坐标轴标题的位置和大小

轴的选择

xlsxAxisAutomatic 为普通图表组选择类别轴,为散点图或气泡图组选择值轴;将 xlsxAxisDate 与时间单位属性配合可用于日历刻度,xlsxAxisSeries 用于三维深度轴
日期轴的单位值与其存在标志相互独立,因此导入的文件会保留被省略的元素,而给某个单位赋值会显式写入该值;AssignClassicDateAxis 会映射生效的 Classic 日期轴设置,并把被掩蔽或无效的原始字段留在源模型中,实现无损的 Classic Roundtrip
单位或间隔缺省时,渲染会一次性检查所有可见系列,推断出天、月或年刻度,并综合可见范围、轴宽、实测文本、数字格式和旋转角度选择一个有界的标签密度;主/次标签、坐标、刻度和网格线都使用由此产生的共享集合
NumberFormat 和 NumberFormatSourceLinked 保留 ChartML 的标签格式状态;日期轴渲染刻度标签时使用该格式,Orientation 在反转刻度和数据坐标的同时不会折叠重复日期,也不会把稀疏日期均匀拉开
类别轴从最靠近轴的叶子层级开始,逐级向上渲染层级化的系列缓存;NoMultiLevelLabels 会抑制父层级,并在模型转换时映射等价的 Classic 图表标志

文本与标题布局

TextStyle 格式化刻度标签,TitleTextStyle 格式化坐标轴标题;两者都暴露类型化的名称、字号、颜色、强调和旋转设置。ChartML 的正旋转值为顺时针方向,并会转换为各输出后端的本地约定
TitleLayout 用归一化的 ChartML 坐标定位并设置坐标轴标题的大小;使用 SetPositionAndSize 可以一次性启用并设置全部四个值,作为一个与 Office 兼容的组

方法

procedure Assign

请参阅