子弹图

基础子弹图基础子弹图-带多颜色范围区间基础子弹图-超出目标基础子弹图-多目标值堆叠子弹图分组子弹图分组子弹图-带颜色范围区间

配置属性

图表容器

width

可选, number

功能描述: 设置图表宽度。

默认配置: 400

height

可选, number

功能描述: 设置图表高度。

默认配置: 400

forceFit

可选, boolean

功能描述: 图表是否自适应容器宽高。当 forceFit 设置为 true 时,widthheight 的设置将失效。

默认配置: true

pixelRatio

可选, number

功能描述: 设置图表渲染的像素比

默认配置: 2

renderer

可选, string

功能描述: 设置图表渲染方式为 canvassvg

默认配置: canvas

数据映射

data 📌

必选, array object

功能描述: 设置图表数据源

默认配置: 无

数据源为对象集合,每条数据包括:

title string 标题
measures number[] 进度值,支持阶段性的进度值
targets number 目标值
ranges number[] 进度条的色条范围区间,取值范围为[0, 1]

每条数据代表一个进度条,如 [{ title: '满意度', measures: [91], target: 90, ranges: [0, 1] }]

meta

可选, object

功能描述: 全局化配置图表数据元信息,以字段为单位进行配置。在 meta 上的配置将同时影响所有组件的文本信息。

默认配置: 无

细分配置项名称 类型 功能描述
alias string 字段的别名
formatter function callback 方法,对该字段所有值进行格式化处理
values string[] 枚举该字段下所有值
range number[] 字段的数据映射区间,默认为[0,1]
const data = [
  { country: 'Asia', year: '1750', value: 502,},
  { country: 'Asia', year: '1800', value: 635,},
  { country: 'Europe', year: '1750', value: 163,},
  { country: 'Europe', year: '1800', value: 203,},
];

const areaPlot = new PercentageStackArea(document.getElementById('container'), {
  title: {
    visible: true,
    text: '百分比堆叠面积图',
  },
  data,
  meta: {    year: {      alias:'年份'      range: [0, 1],    },    value: {      alias: '数量',      formatter:(v)=>{return `${v}`}    }  },  xField: 'year',
  yField: 'value',
  stackField: 'country',
});
areaPlot.render();

rangeMax 📌

必选, number

DEMO

功能描述: 进度条的色条范围区间最大值

默认配置: 无

measureSize ✨

可选, number

功能描述: 实际进度条大小设置(即实际进度条的高度)。

默认配置:20

图形样式

measureColors ✨

可选, string[]

功能描述: 设置进度条颜色,进度条的色条区间颜色依次取数组中的颜色色值

默认配置: theme 默认色板

rangeSize ✨

可选, number

功能描述:区间背景条大小设置,相对数值(相对于 measureSize)。

默认配置:1.2

rangeColors ✨

可选, string[]

DEMO

功能描述:设置进度条背景颜色,进度条的色条区间颜色依次取数组中的颜色色值

默认配置: theme 默认色板

markerSize ✨

可选, number

功能描述:目标值 marker 大小设置(即目标值 marker 的高度),相对数值(相对于 measureSize)。

默认配置:1.2

markerColors ✨

可选, string[]

功能描述:设置进度条目标值颜色

markerStyle ✨

可选, object

功能描述:目标值 marker 的样式设置。

细分配置 类型 功能描述
width number marker 的 宽度,默认为 1。
fill string marker 的填充色

图表组件

title

可选, optional

DEMOS

功能描述: 配置图表的标题,默认显示在图表左上角。

默认配置:

visible: false,
alignTo: 'left',
text:'',
style:{
    fontSize: 18,
    fill: 'black',
}
细分配置 类型 功能描述
visible boolean 是否显示
alignTo string 位置,支持三种配置:
'left'
style object 样式:
- fontSize: number 文字大小
- fill: string 文字颜色
- stroke: string  描边颜色
- lineWidth: number 描边粗细
- lineDash: number 虚线描边
- opacity: number 透明度
- fillOpacity: number 填充透明度
- strokeOpacity: number 描边透明度

description

可选, optional

DEMOS

功能描述: 配置图表的描述,默认显示在图表左上角,标题下方。

默认配置:

visible: false,
alignTo: 'left',
text:'',
style:{
    fontSize: 12,
    fill: 'grey',
}
细分配置 类型 功能描述
visible boolean 是否显示
alignTo string 位置,支持三种配置:
'left'
style object 样式:
- fontSize: number 文字大小
- fill: string 文字颜色
- stroke: string  描边颜色
- lineWidth: number 描边粗细
- lineDash: number 虚线描边
- opacity: number 透明度
- fillOpacity: number 填充透明度
- strokeOpacity: number 描边透明度

axis

可选, object

功能描述: 坐标轴,用于展示横方向上对应的映射信息

默认配置:

visible: false,
position: 'before',
tickCount: 6,
formatter: (text, idx) => `${idx}`,
style: {
    fill: 'rgba(0, 0, 0, 0.25)',
    textBaseline: 'middle',
    textAlign: 'center',
    fontSize: 12,
    lineHeight: 16,
},
tickLine: {
    visible: true,
    lineWidth: 1,
    stroke: '#FFF',
    lineDash: [4, 2],
},
细分配置 类型 功能描述
visible boolean 是否可见
position string 坐标轴位置。可选值: before | after。默认为 before ,代表坐标轴在上方
tickCount number 坐标轴刻度数量
tickInterval number 坐标轴刻度间隔
label object 坐标轴标签
- visible: boolean 是否可见
- formatter: function  坐标轴标签格式化
- suffix: string 后缀
- precision:number  标签精度,如配置为 2,则格式化为 2 位小数
- mask: string 为日期文本添加格式化遮罩,当坐标轴 type 为 time 时生效
- offsetX: number 位置在 x 方向上的偏移量
- offsetY:number 位置在 y 方向上的偏移量
- style:object 样
tickLine object 坐标轴刻度
- visible:boolean 是否可见
- style: object 样式

legend

可选, object

DEMOS1 DEMOS2

功能描述:图例,用于展示颜色分类信息

默认配置:

visible: true,
position: 'bottom',
flipPage: true
细分配置 类型 功能描述
visible boolean 是否可见
position string 位置,支持 12 方位布局
top-left, top-center,top-right
bottom-left,bottom-center,bottom-right
left-top,left-center,left-bottom
right-top,right-center,right-bottom
formatter function 对图例显示信息进行格式化
offsetX number 图例在 position 的基础上再往 x 方向偏移量,单位 px
offsetY number 图例在 position 的基础上再往 y 方向偏移量,单位 px
title object 图例标题
- visible: boolean 是否显示
- text: string 图例文本,如不配置则自动取对应字段名
- style: object 标题样式
marker object 图例 marker
- symbol: string marker 符号,默认为 'circle'。可选类型:circle,square,diamond,triangle,triangleDown,hexagon,bowtie,cross,tick,plus,hyphen,line,hollowCircle,hollowSquare,hollowDiamond
- style: object marker 样式,其中  r  配置 marker 的大小,其余样式参数参考绘图属性文档。
text object 图例文本
- style: object 配置图例文本样式
- formatter:(text,cfg)=>string 格式化图例文本

子弹图图例可以通过custom的方式定制,目前图例不支持“点击交互”

tooltip

可选, object

功能描述:信息提示框

默认配置:

visible: true,
offset: 20,
细分属性 类型 功能描述
visible boolean 是否显示
offset number 距离鼠标位置偏移值
shared boolean 是否同时显示多条数据
domStyles object 配置 tooltip 样式
- g2-tooltip: object 设置 tooltip 容器的 CSS 样式
- g2-tooltip-title: object 设置 tooltip 标题的 CSS 样式
- g2-tooltip-list: object 设置 tooltip 列表容器的 CSS 样式
- g2-tooltip-marker: object 设置 tooltip 列表容器中每一项 marker 的 CSS 样式
- g2-tooltip-value: object  设置 tooltip 列表容器中每一项 value 的 CSS 样式

事件

实际值图形事件

onBulletClick
实际值图形点击事件
onBulletDblClick
实际值图形双击事件
onBulletDblClick
实际值图形双击事件
onLineMouseleave
实际值图形鼠标离开事件
onBulletMousemove
实际值图形鼠标移动事件
onBulletMousedown
实际值图形鼠标按下事件
onBulletMouseup
实际值图形鼠标松开事件
onBulletMouseenter
实际值图形鼠标进入事件

目标值图形事件

onBulletTargetClick
目标值图形点击事件
onBulletTargetDblClick
目标值图形双击事件
onBulletTargetDblClick
目标值图形双击事件
onBulletTargetMouseleave
目标值图形鼠标离开事件
onBulletTargetMousemove
目标值图形鼠标移动事件
onBulletTargetMousedown
目标值图形鼠标按下事件
onBulletTargetMouseup
目标值图形鼠标松开事件
onBulletTargetMouseenter
目标值图形鼠标进入事件

图表区域事件

onPlotClick
图表区域点击事件
onPlotDblClick
图表区域双击事件
onPlotDblClick
图表区域双击事件
onPlotMouseleave
图表区域鼠标离开事件
onPlotMousemove
图表区域鼠标移动事件
onPlotMousedown
图表区域鼠标按下事件
onPlotMouseup
图表区域鼠标松开事件
onPlotMouseenter
图表区域鼠标进入事件

图例事件

onLegendClick
图例点击事件
onLegendDblClick
图例双击事件
onLegendMouseenter
图例鼠标进入事件
onLegendMouseleave
图例鼠标离开事件
onLegendMousemove
图例鼠标移动事件
onLegendMousedown
图例鼠标按下事件
onLegendMouseup
图例鼠标松开事件
onLegendMouseenter
图例鼠标进入事件

坐标轴事件

onAxisClick
坐标轴点击事件
onAxisDblClick
坐标轴双击事件
onAxisDblClick
坐标轴双击事件
onAxisMouseleave
坐标轴鼠标离开事件
onAxisMousemove
坐标轴鼠标移动事件
onAxisMousedown
坐标轴鼠标按下事件
onAxisMouseup
坐标轴鼠标松开事件
onAxiMouseenter
坐标轴鼠标进入事件

标题事件

onTitleClick
标题点击事件
onTitleDblClick
标题双击事件
onTitleDblClick
标题双击事件
onTitleMouseleave
标题鼠标离开事件
onTitleMousemove
标题鼠标移动事件
onTitleMousedown
标题鼠标按下事件
onTitleMouseup
标题鼠标松开事件
onTitleMouseenter
标题鼠标进入事件

描述事件

onDescriptionClick
标题点击事件
onDescriptionDblClick
标题双击事件
onDescriptionDblClick
标题双击事件
onDescriptionMouseleave
标题鼠标离开事件
onDescriptionMousemove
标题鼠标移动事件
onDescriptionMousedown
标题鼠标按下事件
onDescriptionMouseup
标题鼠标松开事件
onDescriptionMouseenter
标题鼠标进入事件

图表方法

render() 📌

必选

渲染图表。

updateConfig()

可选

更新图表配置项。

plot.updateConfig({
  width: 500,
  height: 600,
  legend: {
    visible: false,
  },
});

plot.render();

changeData()

可选

更新图表数据。updateConfig()方法会导致图形区域销毁并重建,如果只进行数据更新,而不涉及其他配置项更新,推荐使用本方法。

plot.changeData(newData);

repaint()

可选

图表画布重绘。

destroy()

可选

销毁图表。

getData()

获取图表数据。

getPlotTheme()

获取图表 theme。

设计规范