Files
my-v0-server/app/resources/materials/heatmap-chart.json
T

539 lines
13 KiB
JSON

{
"order": 14,
"key": "heatmap-chart",
"type": "heatmap-chart",
"name": "热力图",
"description": "用格子颜色深浅展示两个类目维度交叉处的数值大小",
"tags": [
"charts",
"热力图",
"heatmap-chart",
"热力",
"分布",
"时段"
],
"renderer": "echarts",
"group": "charts",
"icon": "solar:widget-bold",
"usage_notes": [
"默认图表数据仅用于演示,不是真实业务数据",
"通过顶层 dataId 关联已有数据源,当前后端尚未实现绑定操作",
"数据源每行一个格子,三列分别对应 X、Y、数值,数值列需放在最后一列(visualMap 默认映射最后一个维度)",
"visualMap.min / max 需按实际数据范围调整",
"label.formatter 用 {@字段名} 引用数值列,修改数值字段时需同步修改"
],
"field_groups": [
"node-base",
"chart-title",
"chart-grid",
{
"key": "heatmap-axis",
"label": "坐标轴",
"description": "热力图的横轴和纵轴都是类目轴",
"fields": [
{
"path": "props.option.xAxis.axisLabel.color",
"label": "X轴文字色",
"description": "横轴类目文字的颜色",
"value_type": "color",
"aliases": [
"横轴文字颜色"
],
"panel": false,
"themed": true
},
{
"path": "props.option.xAxis.axisLabel.fontSize",
"label": "X轴字号",
"description": "横轴类目文字的大小",
"value_type": "number",
"minimum": 8,
"maximum": 48,
"unit": "px",
"default": 12,
"aliases": [
"横轴文字大小"
],
"panel": false
},
{
"path": "props.option.yAxis.axisLabel.color",
"label": "Y轴文字色",
"description": "纵轴类目文字的颜色",
"value_type": "color",
"aliases": [
"纵轴文字颜色"
],
"panel": false,
"themed": true
},
{
"path": "props.option.yAxis.axisLabel.fontSize",
"label": "Y轴字号",
"description": "纵轴类目文字的大小",
"value_type": "number",
"minimum": 8,
"maximum": 48,
"unit": "px",
"default": 12,
"aliases": [
"纵轴文字大小"
],
"panel": false
}
]
},
{
"key": "heatmap-visual",
"label": "色阶",
"description": "数值到格子颜色的映射,数值越大颜色越接近高值颜色",
"fields": [
{
"path": "props.option.visualMap.min",
"label": "最小值",
"description": "色阶的最小值,需按实际数据范围调整",
"value_type": "number",
"span": 12
},
{
"path": "props.option.visualMap.max",
"label": "最大值",
"description": "色阶的最大值,需按实际数据范围调整",
"value_type": "number",
"span": 12
},
{
"path": "props.option.visualMap.inRange.color.0",
"label": "低值颜色",
"description": "最小值对应的格子颜色",
"value_type": "color",
"span": 12
},
{
"path": "props.option.visualMap.inRange.color.4",
"label": "高值颜色",
"description": "最大值对应的格子颜色",
"value_type": "color",
"span": 12
},
{
"path": "props.option.visualMap.inRange.color",
"label": "色阶颜色",
"description": "从低到高的 5 个颜色,整体换配色时修改它",
"value_type": "array",
"item_type": "color",
"aliases": [
"配色",
"渐变色"
],
"panel": false
}
]
},
{
"key": "heatmap-label",
"label": "数值标签",
"description": "格子内显示的数值",
"fields": [
{
"path": "props.option.series.0.label.show",
"label": "显示数值",
"description": "是否在每个格子内显示数值",
"value_type": "boolean",
"aliases": [
"数值标签",
"标签"
]
},
{
"path": "props.option.series.0.label.formatter",
"label": "数值格式",
"description": "格子内数值的显示格式,用 {@字段名} 引用数值列,例如 {@value};修改数值字段时需同步修改",
"value_type": "string",
"aliases": [
"标签格式"
]
},
{
"path": "props.option.series.0.label.color",
"label": "数值文字色",
"description": "格子内数值文字的颜色",
"value_type": "color",
"aliases": [
"标签颜色"
],
"panel": false
},
{
"path": "props.option.series.0.label.fontSize",
"label": "数值字号",
"description": "格子内数值文字的大小",
"value_type": "number",
"minimum": 8,
"maximum": 48,
"unit": "px",
"aliases": [
"标签大小"
],
"panel": false
}
]
},
"chart-dataset",
"chart-encode-xy",
{
"key": "heatmap-value",
"label": "数值映射",
"description": "格子颜色使用的数值列",
"fields": [
{
"path": "props.option.series.0.encode.value",
"label": "数值字段",
"description": "格子数值使用数据集中的哪一列,必须是 dataset.source 中的最后一列;修改后同步修改数值格式",
"value_type": "string",
"aliases": [
"值字段"
]
}
]
}
],
"eventOptions": [
{
"label": "点击事件",
"value": "click"
},
{
"label": "双击事件",
"value": "dblclick"
},
{
"label": "鼠标进入事件",
"value": "mouseenter"
},
{
"label": "鼠标离开事件",
"value": "mouseleave"
},
{
"label": "鼠标按下事件",
"value": "mousedown"
},
{
"label": "鼠标抬起事件",
"value": "mouseup"
},
{
"label": "鼠标移动事件",
"value": "mousemove"
},
{
"label": "鼠标滚轮事件",
"value": "mousewheel"
},
{
"label": "生命周期事件",
"value": "vnodeMounted"
}
],
"schema": {
"type": "heatmap-chart",
"name": "热力图",
"layout": {
"x": 0,
"y": 0,
"width": 480,
"height": 300
},
"props": {
"option": {
"title": {
"text": "访问时段分布",
"top": 8,
"left": "center",
"textStyle": {
"fontSize": 16
}
},
"tooltip": {
"position": "top"
},
"dataset": {
"source": [
{
"slot": "0-4点",
"day": "周一",
"value": 8
},
{
"slot": "4-8点",
"day": "周一",
"value": 7
},
{
"slot": "8-12点",
"day": "周一",
"value": 46
},
{
"slot": "12-16点",
"day": "周一",
"value": 62
},
{
"slot": "16-20点",
"day": "周一",
"value": 76
},
{
"slot": "20-24点",
"day": "周一",
"value": 84
},
{
"slot": "0-4点",
"day": "周二",
"value": 15
},
{
"slot": "4-8点",
"day": "周二",
"value": 14
},
{
"slot": "8-12点",
"day": "周二",
"value": 42
},
{
"slot": "12-16点",
"day": "周二",
"value": 58
},
{
"slot": "16-20点",
"day": "周二",
"value": 72
},
{
"slot": "20-24点",
"day": "周二",
"value": 80
},
{
"slot": "0-4点",
"day": "周三",
"value": 11
},
{
"slot": "4-8点",
"day": "周三",
"value": 10
},
{
"slot": "8-12点",
"day": "周三",
"value": 49
},
{
"slot": "12-16点",
"day": "周三",
"value": 65
},
{
"slot": "16-20点",
"day": "周三",
"value": 68
},
{
"slot": "20-24点",
"day": "周三",
"value": 76
},
{
"slot": "0-4点",
"day": "周四",
"value": 18
},
{
"slot": "4-8点",
"day": "周四",
"value": 6
},
{
"slot": "8-12点",
"day": "周四",
"value": 45
},
{
"slot": "12-16点",
"day": "周四",
"value": 61
},
{
"slot": "16-20点",
"day": "周四",
"value": 75
},
{
"slot": "20-24点",
"day": "周四",
"value": 83
},
{
"slot": "0-4点",
"day": "周五",
"value": 14
},
{
"slot": "4-8点",
"day": "周五",
"value": 13
},
{
"slot": "8-12点",
"day": "周五",
"value": 52
},
{
"slot": "12-16点",
"day": "周五",
"value": 57
},
{
"slot": "16-20点",
"day": "周五",
"value": 71
},
{
"slot": "20-24点",
"day": "周五",
"value": 79
},
{
"slot": "0-4点",
"day": "周六",
"value": 12
},
{
"slot": "4-8点",
"day": "周六",
"value": 11
},
{
"slot": "8-12点",
"day": "周六",
"value": 61
},
{
"slot": "12-16点",
"day": "周六",
"value": 81
},
{
"slot": "16-20点",
"day": "周六",
"value": 98
},
{
"slot": "20-24点",
"day": "周六",
"value": 97
},
{
"slot": "0-4点",
"day": "周日",
"value": 19
},
{
"slot": "4-8点",
"day": "周日",
"value": 7
},
{
"slot": "8-12点",
"day": "周日",
"value": 57
},
{
"slot": "12-16点",
"day": "周日",
"value": 77
},
{
"slot": "16-20点",
"day": "周日",
"value": 94
},
{
"slot": "20-24点",
"day": "周日",
"value": 104
}
]
},
"grid": {
"top": 48,
"right": 24,
"bottom": 64,
"left": 48,
"containLabel": true
},
"xAxis": {
"type": "category",
"splitArea": {
"show": true
}
},
"yAxis": {
"type": "category",
"inverse": true,
"splitArea": {
"show": true
}
},
"visualMap": {
"min": 0,
"max": 120,
"calculable": true,
"orient": "horizontal",
"left": "center",
"bottom": 4,
"itemHeight": 120,
"inRange": {
"color": [
"#1d2b44",
"#337ecc",
"#79bbff",
"#e6a23c",
"#f56c6c"
]
}
},
"series": [
{
"name": "访问量",
"type": "heatmap",
"label": {
"show": true,
"formatter": "{@value}",
"color": "#e5eaf3",
"fontSize": 11
},
"itemStyle": {
"borderWidth": 2
},
"encode": {
"x": "slot",
"y": "day",
"value": "value"
}
}
]
}
},
"style": null,
"events": []
}
}