在之前的文章中,我们学习了如何设置散点图、雷达图。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢
数据可视化-ECharts Html项目实战(5)-CSDN博客https://blog.csdn.net/qq_49513817/article/details/136977084?spm=1001.2014.3001.5501今天的文章,会带着大家学习ECharts特殊图标中的漏斗图与仪表图,希望你能有所收获。
目录
一、知识回顾
二、漏斗图
三、仪表盘
拓展-提示框组件设置
一、知识回顾
首先散点图我们需要将type属性设置为scatter,并且取消图表中的step属性,就像这样:
而在我们的雷达图也是蜘蛛网图的时候,需要定义雷达图的指示器(indicator)数组,并且修改type为radar。
现在之前的知识回顾完了,开始今天的学习吧。
二、漏斗图
设置漏斗图只需要写一个简单的图表然后将type属性更改一下为funnel就行了,如同;
我们运行一下,看看效果:
可以看到,图表就像一个漏斗一样
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ECharts 仪表盘示例</title>
<!-- 引入 ECharts 文件 -->
<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.3.3/echarts.min.js"></script>
</head>
<body>
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main" style="width: 600px;height:400px;"></div>
<script type="text/javascript">
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
tooltip: {
trigger: 'item',
formatter: '{b}: <br/>平均分: {c} 分'
},
xAxis: {
type: 'value',
min: 0,
axisLabel: {
formatter: '{value} 分'
}
},
yAxis: {
type: 'category',
data: ['大数据搭建', '数据可视化', '数据结构', 'Python', 'Linux', 'Java'],
axisLabel: {
interval: 0 // 显示全部标签
},
inverse: true // 翻转y轴,使得最高分在最上面
},
series: [{
type: 'funnel',
data: [90, 85, 80, 75, 70, 65], // 各科成绩平均分,自定数据
barWidth: '30%',
itemStyle: {
normal: {
borderColor: 'rgba(0,0,0,0)',
shadowColor: 'rgba(0, 0, 0, 0.5)',
shadowBlur: 10
}
},
showBackground: true,
backgroundStyle: {
color: 'rgba(220, 220, 220, 0.8)'
},
label: {
show: true,
position: 'top',
formatter: '{c}'
}
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
</script>
</body>
</html>
现在,快去试试吧
三、仪表盘
设置仪表盘我们需要设置仪表盘的半径,仪表盘的起始角度和结束角度,仪表盘的指针与刻度,将type更改为gauge,就如图中:
name: '业务指标',
type: 'gauge',
// 仪表盘的半径,数组的第一项是内半径,第二项是外半径
radius: '50%',
// 仪表盘的起始角度和结束角度
startAngle: 90,
endAngle: -270,
// 仪表盘的指针
axisLine: {
lineStyle: {
width: 10
}
},
// 仪表盘上的刻度
axisTick: {
splitNumber: 10,
length: 12,
},
// 仪表盘上的指针
pointer: {
width: 5
},
// 仪表盘上的数据
detail: {
formatter: '{value}%',
textStyle: {
fontWeight: 'bolder'
}
},
data: [{value: 60, name: '完成率'}]
现在,将它写入一个完整的盒子中看看效果:
可以看到,一个仪表盘出现了,现在去试试吧。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ECharts 仪表盘示例</title>
<!-- 引入 ECharts 文件 -->
<script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.3.3/echarts.min.js"></script>
</head>
<body>
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main" style="width: 800px;height:600px;"></div>
<script type="text/javascript">
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
tooltip: {
formatter: "{a} <br/>{b} : {c}%"
},
toolbox: {
feature: {
restore: {},
saveAsImage: {}
}
},
series: [
{
name: '业务指标',
type: 'gauge',
// 仪表盘的半径,数组的第一项是内半径,第二项是外半径
radius: '50%',
// 仪表盘的起始角度和结束角度
startAngle: 90,
endAngle: -270,
// 仪表盘的指针
axisLine: {
lineStyle: {
width: 10
}
},
// 仪表盘上的刻度
axisTick: {
splitNumber: 10,
length: 12,
},
// 仪表盘上的指针
pointer: {
width: 5
},
// 仪表盘上的数据
detail: {
formatter: '{value}%',
textStyle: {
fontWeight: 'bolder'
}
},
data: [{value: 60, name: '完成率'}]
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
</script>
</body>
</html>
拓展-提示框组件设置
关键词 | 类型 | 描述 |
---|---|---|
trigger | String | 触发类型。可选值包括:'item' (数据项图形触发,主要在散点图,柱状图等无类目轴的图表中使用),'axis' (坐标轴触发,主要在柱状图、折线图等会使用类目轴的图表中使用),'none' (不触发)。 |
triggerOn | String | 触发提示框的行为。可选值包括:'mousemove' (鼠标移动时触发),'click' (鼠标点击时触发),'none' (不触发)。 |
show | Boolean | 是否显示提示框组件,默认为 true 。 |
showContent | Boolean | 是否显示提示框内容,默认为 true 。 |
alwaysShowContent | Boolean | 是否总是显示提示框内容,而不只是当 trigger 为 'item' 且数据项图形被触发时才显示,默认为 false 。 |
showBackground | Boolean | 是否显示提示框的背景,默认为 true 。 |
backgroundColor | String | 提示框的背景颜色,默认为 rgba(0,0,0,0.8) 。 |
borderRadius | Number | 提示框边框的圆角,单位为像素,默认为 4 。 |
padding | Number/Array | 提示框的内边距,单位为像素,可以是单一数值或 [上, 右, 下, 左] 的数组形式,默认为 [5, 10] 。 |
textStyle | Object | 提示框文本样式,包括 color (文字颜色)、fontStyle (字体风格)、fontWeight (字体粗细)、fontFamily (字体类型)、fontSize (字体大小)、lineHeight (行高)等属性。 |
formatter | String/Function | 提示框内容格式器,支持字符串模板和回调函数两种形式。字符串模板使用 {a} 、{b} 、{c} 等占位符来引用系列(series)的数据和名称、数据项(data)的值等。回调函数则可以根据参数自定义返回内容。 |
position | String/Function | 提示框的位置,可以是固定的字符串值(如 'top' 、'left' 、'right' 、'bottom' 、'inside' 等)或自定义的函数,用于计算提示框的位置。 |
offset | Number/Array | 提示框距离鼠标的位置。可以是单一数值或 [x, y] 的数组形式,单位为像素,默认为 [0, 0] 。 |
enterable | Boolean | 鼠标是否可以进入提示框浮层中,默认为 false 。 |
confine | Boolean | 是否将提示框限制在图表的区域内,默认为 true 。 |
transitionDuration | Number | 提示框出现的过渡时间,单位为毫秒,默认为 0.4s 。 |
transitionEasing | String | 提示框出现时的缓动函数,默认为 'cubicOut' 。 |
zlevel | Number | 提示框的 z-level 值,控制图形绘制在 z 轴上的层级,默认为 0 。 |
z | Number | 提示框的 z 值,同一层级下 z 值越大越会绘制在上层,默认为 2 。 |