日历图
配置属性
图表容器
width
可选, number
功能描述: 设置图表宽度。
默认配置: 400
height
可选, number
功能描述: 设置图表高度。
默认配置: 400
forceFit
可选, boolean
功能描述: 图表是否自适应容器宽高。当 forceFit
设置为 true 时,width
和 height
的设置将失效。
默认配置: true
pixelRatio
可选, number
功能描述: 设置图表渲染的像素比
默认配置: 2
renderer
可选, string
功能描述: 设置图表渲染方式为 canvas
或 svg
默认配置: canvas
数据映射
data 📌
必选, array object
功能描述: 设置图表数据源
默认配置: 无
数据源为对象集合,例如:[{ time: '1991',value: 20 }, { time: '1992',value: 20 }]
。
dateField 📌
必选,string
功能描述: 日历图中对应日期数据的字段。
默认配置: 无
valueField 📌
必选, string
功能描述: 日历图中对应每个格子中值的字段。
默认配置: 无
months: string[] ✨
可选, string[]
功能描述:对应月份名称的数组。
默认配置:['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
weeks: boolean ✨
可选,string[]
功能描述:对应星期名称的数组,从周日开始。
默认配置:['S', 'M', 'T', 'W', 'T', 'F', 'S']
图形样式
colors
可选, string | string[]
功能描述: 日历图中对应 valueField 值映射的颜色数组或者字符串,例如:'#BAE7FF-#1890FF-#0050B3' 或者 ['#BAE7FF', '#1890FF', '#0050B3']。
默认配置: theme 中的默认色板
图表组件
title
可选, optional
功能描述: 配置图表的标题,默认显示在图表左上角。
默认配置:
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
功能描述: 配置图表的描述,默认显示在图表左上角,标题下方。
默认配置:
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 描边透明度 |
xAxis
可选, object
功能描述: x 方向上的坐标轴,用于展示 xField 对应的映射信息
默认配置:
visible: true,
grid: {
visible: false,
},
line: {
visible: true
},
tickLine: {
visible: true,
},
label: {
visible: true,
autoRotate: true,
autoHide: true
},
title: {
visible: false,
offset: 12,
},
细分配置 | 类型 | 功能描述 |
---|---|---|
visible | boolean | 是否可见 |
line | object | 坐标轴轴线 - visible: boolean 是否可见 - style:object 轴线样式 |
grid | object | 网格线 - visible: boolean 是否可见 - line:object 网格线样式 |
label | object | 坐标轴标签 - visible: boolean 是否可见 - formatter: function 坐标轴标签格式化 - suffix: string 后缀 - offsetX: number 位置在 x 方向上的偏移量 - offsetY:number 位置在 y 方向上的偏移量 - style:object 样 -autoHide: boolean 是否自动隐藏 -autoRotate: boolean 是否自动旋转 |
tickLine | object | 坐标轴刻度 - visible:boolean 是否可见 - style: object 样式 |
title | object | 坐标轴标题 - visible: boolean 是否可见 - text: string 标题文字 - offset: number 位置偏移量 - style:object 样式 |
yAxis
可选, object
功能描述: y 方向上的坐标轴,用于展示 yField 对应的映射信息
默认配置:
visible: true,
grid: {
visible: true,
},
line: {
visible: false,
},
tickLine: {
visible: false,
},
label: {
visible: true,
autoRotate: true,
autoHide: true
},
title: {
visible: true,
offset: 12,
},
细分配置 | 类型 | 功能描述 |
---|---|---|
visible | boolean | 是否可见 |
tickCount | number | 坐标轴刻度数量 |
tickInterval | number | 坐标轴刻度间隔 |
min | number | 设置坐标轴最小值 |
max | number | 设置坐标轴最大值 |
line | object | 坐标轴轴线 - visible: boolean 是否可见 - style:object 轴线样式 |
grid | object | 网格线 - visible: boolean 是否可见 - line:object 网格线样式 |
label | object | 坐标轴标签 - visible: boolean 是否可见 - formatter: function 坐标轴标签格式化 DEMO - suffix: string 后缀 - precision:number 标签精度,如配置为 2,则格式化为 2 位小数 - offsetX: number 位置在 x 方向上的偏移量 - offsetY:number 位置在 y 方向上的偏移量 - style:object 样 -autoHide: boolean 是否自动隐藏 -autoRotate: boolean 是否自动旋转 |
tickLine | object | 坐标轴刻度 - visible:boolean 是否可见 - style: object 样式 |
title | object | 坐标轴标题 - visible: boolean 是否可见 - text: string 标题文字 - offset: number 位置偏移量 - style:object 样式 |
tooltip
可选, object
功能描述:信息提示框
默认配置:
visible: true,
offset: 20,
细分属性 | 类型 | 功能描述 |
---|---|---|
visible | boolean | 是否显示 |
offset | number | 距离鼠标位置偏移值 |
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 样式 |
fields | string | 设置 tooltip 内容字段,默认为[ '$$week$$', '$$day$$'] |
formatter | object | 对 tooltip items 进行格式化,入参为 tooltip fields 对应数值,出参为格式为{name:'a',value:1} |
label
可选, object
功能描述: 标签文本
默认配置:
visible: false
offsetX: 6
offsetY: 6
style:{
fill: 'rgba(0, 0, 0, 0.65)',
stroke: '#ffffff',
lineWidth: 2,
}
细分配置 | 类型 | 功能描述 |
---|---|---|
visible | boolean | 是否显示 |
formatter | function | 对文本标签内容进行格式化 |
offsetX | number | 在 label 位置的基础上再往 x 方向的偏移量 |
offsetY | number | 在 label 位置的基础上再往 y 方向的偏移量 |
style | object | 配置文本标签样式。 |
事件
矩形事件
onRectClick 矩形点击事件 |
onRectDblClick 矩形双击事件 |
onRectDblClick 矩形双击事件 |
onRectMouseleave 矩形鼠标离开事件 |
---|---|---|---|
onRectMousemove 矩形标移动事件 |
onRectMousedown 矩形鼠标按下事件 |
onRectMouseup 矩形鼠标松开事件 |
onRectMouseenter 矩形鼠标进入事件 |
图表区域事件
onPlotClick 图表区域点击事件 |
onPlotDblClick 图表区域双击事件 |
onPlotDblClick 图表区域双击事件 |
onPlotMouseleave 图表区域鼠标离开事件 |
---|---|---|---|
onPlotMousemove 图表区域鼠标移动事件 |
onPlotMousedown 图表区域鼠标按下事件 |
onPlotMouseup 图表区域鼠标松开事件 |
onPlotMouseenter 图表区域鼠标进入事件 |
图形标签事件
onLabelClick 图形标签点击事件 |
onLabelDblClick 图形标签双击事件 |
onLabelDblClick 图形标签双击事件 |
onLabelMouseleave 图形标签鼠标离开事件 |
---|---|---|---|
onLabelMousemove 图形标签鼠标移动事件 |
onLabelMousedown 图形标签鼠标按下事件 |
onLabelMouseup 图形标签鼠标松开事件 |
onLabelMouseenter 图形标签鼠标进入事件 |
标题事件
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。
何时使用
日历图是通过一个日历形态的图形来显示数据在一个日期范围内的对比情况。
数据类型
适合的数据 | 「一个日期字段」+「一个连续数据字段」 |
---|---|
功能 | 观察数据在日期范围内的分布和对比 |
数据与图形的映射 | 一个连续字段映射图形的颜色 |
适合的数据条数 | 大量数据 |