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 | 类别轴上刻度线之间的间隔 |
| NoMultiLevelLabels | True 时只显示最末级类别层级,并写入类别轴的 noMultiLvlLbl 开关 |
| TextStyle | 刻度标签的文本样式 |
| TitleTextStyle | 坐标轴标题的文本样式 |
| TitleLayout | 坐标轴标题的位置和大小 |
轴的选择
xlsxAxisAutomatic 为普通图表组选择类别轴,为散点图或气泡图组选择值轴;将 xlsxAxisDate 与时间单位属性配合可用于日历刻度,xlsxAxisSeries 用于三维深度轴
日期轴的单位值与其存在标志相互独立,因此导入的文件会保留被省略的元素,而给某个单位赋值会显式写入该值;AssignClassicDateAxis 会映射生效的 Classic 日期轴设置,并把被掩蔽或无效的原始字段留在源模型中,实现无损的 Classic Roundtrip
单位或间隔缺省时,渲染会一次性检查所有可见系列,推断出天、月或年刻度,并综合可见范围、轴宽、实测文本、数字格式和旋转角度选择一个有界的标签密度;主/次标签、坐标、刻度和网格线都使用由此产生的共享集合
NumberFormat 和 NumberFormatSourceLinked 保留 ChartML 的标签格式状态;日期轴渲染刻度标签时使用该格式,Orientation 在反转刻度和数据坐标的同时不会折叠重复日期,也不会把稀疏日期均匀拉开
类别轴从最靠近轴的叶子层级开始,逐级向上渲染层级化的系列缓存;NoMultiLevelLabels 会抑制父层级,并在模型转换时映射等价的 Classic 图表标志
文本与标题布局
TextStyle 格式化刻度标签,TitleTextStyle 格式化坐标轴标题;两者都暴露类型化的名称、字号、颜色、强调和旋转设置。ChartML 的正旋转值为顺时针方向,并会转换为各输出后端的本地约定
TitleLayout 用归一化的 ChartML 坐标定位并设置坐标轴标题的大小;使用 SetPositionAndSize 可以一次性启用并设置全部四个值,作为一个与 Office 兼容的组
方法
请参阅