坐标轴 - Axis

阅读时间约 6 分钟

第一种 传入 boolean 配置是否显示坐标轴。

view.axis(false); // 不展示坐标轴

第二种 对特定的某条坐标轴进行配置。

axis(field: string, axisOption: AxisOption) => View
// 不展示 'city' 字段对应的坐标轴
chart.axis('city', false);

// 将 'city' 字段对应的坐标轴的标题隐藏
chart.axis('city', {
  title: null,
});

AxisOption 配置如下:

AxisOption.position

'top' | 'bottom' | 'right' | 'left' optional

适用于直角坐标系,设置坐标轴的位置。

AxisOption.line

AxisLineCfg | null optional

坐标轴线的配置项,null 表示不展示。AxisLineCfg 配置如下:

参数名类型是否必选默认值描述
styleShapeAttrs-坐标轴线的样式配置项

AxisOption.tickLine

AxisTickLineCfg | null optional

坐标轴刻度线线的配置项,null 表示不展示。AxisTickLineCfg 配置如下:

参数名类型是否必选默认值描述
styleShapeAttrs-坐标轴刻度线的样式配置项
alignTickboolean-是否同刻度线对齐,如果值为 false,则会显示在两个刻度中间。
lengthnumber-长度

AxisOption.subTickLine

AxisSubTickLineCfg | null optional

坐标轴子刻度线的配置项,null 表示不展示。AxisSubTickLineCfg 配置如下:

参数名类型是否必选默认值描述
styleShapeAttrs-坐标轴刻度线的样式配置项
countnumber-子刻度个数
lengthnumber-子刻度线长度

AxisOption.title

AxisTitleCfg | null optional

标题的配置项,null 表示不展示。AxisTitleCfg 配置如下:

参数名类型是否必选默认值描述
styleShapeAttrs-坐标轴刻度线的样式配置项
offsetnumber-标题距离坐标轴的距离
spacingnumber-标题距离坐标轴文本的距离
textstring-设置文本
autoRotateboolean-是否自动旋转
position'start' | 'center' | 'end'-坐标轴标题显示位置
descriptionstring-坐标轴标题添加详细说明

AxisOption.label

AxisLabelCfg | null optional

文本标签的配置项,null 表示不展示。AxisLabelCfg 配置如下:

参数名类型是否必选默认值描述
styleShapeAttrs-坐标轴刻度线的样式配置项
offsetnumber-label 的偏移量
rotatenumber-文本旋转角度
autoRotatebooleantrue是否自动旋转
autoHidebooleanfalse是否自动隐藏
autoEllipsisbooleanfalse是否自动省略
formatter(text: string, item: ListItem, index: number) => anyfalse格式化函数

AxisOption.grid

AxisGridCfg | null optional

坐标轴网格线的配置项,null 表示不展示。AxisGridCfg 配置如下:

参数名类型是否必选默认值描述
lineGridLineCfg-线的样式
alternateColorstring | string[]-两个栅格线间的填充色
closedboolean-对于 circle 是否关闭 grid
alignTickboolean-是否同刻度线对齐,如果值为 false,则会显示在两个刻度中间。

GridLineCfg 配置如下:

参数名类型是否必选默认值描述
type'line' | 'circle'-栅格线的类型,'line' 或者 'circle'
styleShapeAttrs | ShapeAttrsCallback-坐标轴刻度线的样式配置项

AxisOption.animate

boolean optional default: true

是否开启动画开关。

AxisOption.animateOption

ComponentAnimateOption optional

动画参数配置,当且仅当 animate 属性为 true,即动画开启时生效。。动画配置详情如下:

ComponentAnimateOption 为组件各个动画类型配置。其中 easing 传入动画函数名称,内置默认动画函数如下表,同时也可以通过 registerAnimation 自定义动画函数。

interface ComponentAnimateOption {
  appear?: ComponentAnimateCfg; // 图表第一次加载时的入场动画
  enter?: ComponentAnimateCfg; // 图表绘制完成,发生更新后,产生的新图形的进场动画
  update?: ComponentAnimateCfg; // 图表绘制完成,数据发生变更后,有状态变更的图形的更新动画
  leave?: ComponentAnimateCfg; // 图表绘制完成,数据发生变更后,被销毁图形的销毁动画
}

interface ComponentAnimateCfg {
  duration?: number; // 动画执行时间
  easing?: string; // 动画缓动函数
  delay?: number; // 动画延迟时间
}
animation效果说明
'fade-in'fade-in.gif渐现动画。
'fade-out'fade-out.gif渐隐动画。
'grow-in-x'grow-in-x.gif容器沿着 x 方向放大的矩阵动画,多用于 G.Group 容器类进行动画。
'grow-in-y'grow-in-y.gif容器沿着 y 方向放大的矩阵动画,多用于 G.Group 容器类进行动画。
'grow-in-xy'grow-in-xy.gif容器沿着 x,y 方向放大的矩阵动画,多用于 G.Group 容器类进行动画。
'scale-in-x'scale-in-x.gif单个图形沿着 x 方向的生长动画。
'scale-in-y'scale-in-y.gif单个图形沿着 y 方向的生长动画。
'wave-in'wave-in-p.gifwave-in-r.gif划入入场动画效果,不同坐标系下效果不同。
'zoom-in'zoom-in.gif沿着图形中心点的放大动画。
'zoom-out'zoom-out.gif沿着图形中心点的缩小动画。
'path-in'path-in.gifpath 路径入场动画。
'position-update'图形位置移动动画。

AxisOption.verticalFactor

number optional

标记坐标轴 label 的方向,左侧为 1,右侧为 -1。

AxisOption.verticalLimitLength

number optional

配置坐标轴垂直方向的最大限制长度,对文本自适应有很大影响。

  1. 可以直接设置像素值,如 100;
  2. 也可设置绝对值,如 0.2,如果是 x 轴,则相对于图表的高度,如果是 y 轴,则相对于图表的宽度。 在 G2 中,x 轴的文本默认最大高度为图表高度的 1/2,y 轴的文本默认最大长度为图表宽度的 1/3