这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助

Echarts绘制气泡图

气泡图是一种用于可视化三维数据的图表类型,其中两个变量用于确定数据点在平面上的位置,另一个变量用于确定气泡的大小。Echarts是一款基于JavaScript的数据可视化库,它提供了丰富的图表类型,包括灵活多变的气泡图。本文将详细介绍如何使用Echarts来绘制气泡图,并介绍气泡图相关的配置。

Echarts气泡图基础

在Echarts中,要绘制气泡图需指定seriestype'scatter'并在series.data中为每个数据点指定一个数组,通常数组的前两个值代表x轴和y轴的坐标,第三个值代表气泡的大小(即气泡半径)。

以下是一个基础的Echarts气泡图的配置例子:

var option = {
tooltip: {
trigger: 'item',
formatter: function (params) {
return params.seriesName + ' :<br/>' +
params.value[0] + 'cm ' +
params.value[1] + 'kg ' +
params.value[2] + '岁';
}
},
xAxis: {
scale: true,
type: 'value',
name: '身高(cm)'
},
yAxis: {
scale: true,
type: 'value',
name: '体重(kg)'
},
series: [{
name: '年龄',
type: 'scatter',
symbolSize: function (data) {
return Math.sqrt(data[2]) * 5; // 根据值大小调整气泡大小
},
data: [
[161.2, 51.6, 25],
[167.5, 59.0, 29],
// ... 更多数据
],
animationDelay: function (idx) {
return idx * 100;
}
}]
};

配置项解析

tooltip

tooltip配置是图表的提示框组件,可以在鼠标悬浮时显示数据的详细信息。可以通过formatter属性来定义提示框显示的内容。

xAxis和yAxis

xAxisyAxis配置定义了图表的x轴和y轴,type一般为'value'表示数值轴。name属性用于定义轴名称,scale属性设置为true时轴将不会强制包含零,这对于散点图和气泡图非常重要,以便更真实地反映数据的分布情况。

series

series数组的每个对象表示一组数据,对于气泡图,每个对象的type属性设置为'scatter'symbolSize函数用于根据数据点的值(如年龄)调整气泡的大小。data属性是一个数组,包含了图表中每个气泡的信息。

高级配置

Echarts的气泡图还有许多高级配置可以使图表更加丰富和个性化,下面将介绍其中一些重要的配置。

visualMap

visualMap组件可以根据数值映射到颜色,从而以颜色的变化来表示一个数据维度。

visualMap: {
dimension: 2,
min: 0,
max: 100,
calculable: true,
inRange: {
color: ['#50a3ba', '#eac736', '#d94e5d']
},
textStyle: {
color: '#fff'
}
}

markArea, markPoint, markLine

这些是Echarts的标注工具,可以在图表中标记特定区域、点或线条。

series: [{
// ... 其他配置 ...
markPoint: {
data: [
{type: 'max', name: '最大值'},
{type: 'min', name: '最小值'}
]
},
markLine: {
lineStyle: {
normal: {
type: 'solid'
}
},
data: [
{type: 'average', name: '平均值'}
]
}
// ... 其他配置 ...
}]

legend

图例组件legend显示了不同系列的标记,颜色和名称,用户可以通过点击图例来切换显示的系列。

legend: {
right: 10,
data: ['年龄']
}

grid

grid组件可以控制图表的位置和大小,在气泡图中经常需要调整,以便为气泡留出足够的空间。

grid: {
left: '3%',
right: '7%',
bottom: '3%',
containLabel: true
}

dataset

当有多个系列需要共享一套数据或者数据结构比较复杂时,使用dataset可以对数据进行集中管理。

dataset: {
dimensions: ['身高', '体重', '年龄'],
source: [
[161.2, 51.6, 25],
[167.5, 59.0, 29],
// ... 更多数据
]
},
series: [{
// ... 其他配置 ...
encode: {
x: '身高', // 映射到x轴的数据
y: '体重', // 映射到y轴的数据
z: '年龄' // 映射到气泡大小的数据
}
// ... 其他配置 ...
}]

emphasis

通过emphasis,可以设置当鼠标悬浮在气泡上时的样式,如气泡的边线颜色、宽度等。

series: [{
// ... 其他配置 ...
emphasis: {
itemStyle: {
borderColor: 'blue',
borderWidth: 2
}
}
// ... 其他配置 ...
}]

自定义样式和布局

可以自定义气泡的样式,例如为气泡添加阴影等,使得图表看起来更具有立体感。

series: [{
// ... 其他配置 ...
itemStyle: {
shadowBlur: 10,
shadowColor: 'rgba(120, 36, 50, 0.5)',
shadowOffsetY: 5
}
// ... 其他配置 ...
}]

结语

气泡图在数据可视化中是展示多维数据关系的重要图表类型。Echarts提供了丰富的配置项来创建丰富多彩、互动性强的气泡图。本文涵盖的这些基础与高级配置足以应对大多数的气泡图使用场景。

本文转载于:

https://juejin.cn/post/7311216938751934516

如果对您有所帮助,欢迎您点个关注,我会定时更新技术文档,大家一起讨论学习,一起进步。

记录--Echarts绘制气泡图的更多相关文章

  1. 接上一篇中记录Echarts进度环使用【不同状态不同进度环颜色及圈内文字】--采用单实例业务进行说明

    接上一篇中记录Echarts进度环使用 此处处理不同状态下不同进度环颜色及圈内文字等的相关处理,采用实际案例源码说明 -----------------偶是华丽丽分割线---------------- ...

  2. Python使用Plotly绘图工具,绘制气泡图

    今天来讲讲如何使用Python 绘图工具,Plotly来绘制气泡图. 气泡图的实现方法类似散点图的实现.修改散点图中点的大小,就变成气泡图. 实现代码如下: import plotly as py i ...

  3. 使用echarts绘制漂亮的渐变键盘仪表盘

    echarts官方示例和默认样式都比较难看,经过一顿捣鼓实现比较漂亮的渐变仪表盘. 第一步:设置轴线 将图表轴线.label.分割线.隐藏,只保留刻度,然后修改刻度样式达到最终效果.不过要注意的是ax ...

  4. 使用echarts绘制条形图和扇形图

    使用echarts绘制条形图和扇形图 简单举例说明下echarts如何绘制条形图和扇形图 代码示例 <!doctype html> <html lang="en" ...

  5. echarts —— 绘制横向柱状图(圆角、无坐标轴)

    UI给了设计图,看了一眼觉得简单,不就是无序列表布局嘛(ul,li),后来才知道那是echarts图,好吧,样式如下: 代码如下:(渐变色没做) <!DOCTYPE html> <h ...

  6. react使用Echarts绘制高亮可点击选中的省市地图

    最近做项目遇到一个需求,需要显示广东省各个地级市的地图,并且鼠标移入高亮显示,鼠标点击可以选中某个地级市.在网上查阅了大量资料之后,最后选择了使用echarts实现该需求.在此记录一下,希望可以帮到有 ...

  7. 用ECharts绘制Prometheus图表,实现类似Grafana的自定义Dashboard

      大家一般都是用Grafana自定义Dashboard来监控Prometheus数据的,作者这次尝试用ECharts来绘制Prometheus数据图表,一方面可以减少依赖,另一方面可以将监控界面灵活 ...

  8. 前端 | 使用 ECharts 绘制关系图

    0 需求 做的项目需要画一个关系图,主要需求如下: 需要展示6种对象之间的关系:数据机构 数据 合约 模型 计算机构 应用 支持突出显示6种对象中的某一种的所有对象 支持Top x子图功能.top x ...

  9. Flask 框架:运用Echarts绘制图形

    echarts是百度推出的一款开源的基于JavaScript的可视化图表库,该开发库目前发展非常不错,且支持各类图形的绘制可定制程度高,Echarts绘图库同样可以与Flask结合,前台使用echar ...

  10. echarts绘制甘特图

      在setoption之后添加这段代码: window.addEventListener('resize', function () { myChart.resize();   }); 图表就能随着 ...

随机推荐

  1. drawio画图软件使用入门

    drawio是一个画图软件,擅长处理流程图,可以替换visio用来画流程图,也可以编辑visio文件. 体验地址:https://app.diagrams.net/ 截图如下: 可以直接使用在线版本, ...

  2. NC22494 选点

    题目链接 题目 题目描述 有一棵n个节点的二叉树,1为根节点,每个节点有一个值wi.现在要选出尽量多的点. 对于任意一棵子树,都要满足: 如果选了根节点的话,在这棵子树内选的其他的点都要比根节点的值大 ...

  3. NC16541 [NOIP2013]车站分级

    题目链接 题目 题目描述 一条单向的铁路线上,依次有编号为1, 2, -, n 的n 个火车站.每个火车站都有一个级别,最低为1 级.现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次 ...

  4. NVM Feature— Reservation(NVME 学习笔记五)

    8.8 Reservations 预订 NVMe的reservation预订功能,用于让两个或多个主机能够协调配合的访问共享namespace.使用这些功能的协议和方式超出了本规格说明书的范围.对这些 ...

  5. Dota2参议院

    Dota2参议院 Dota2的世界里有两个阵营:Radiant天辉和Dire夜魇 Dota2参议院由来自两派的参议员组成.现在参议院希望对一个Dota2游戏里的改变作出决定.他们以一个基于轮转过程的投 ...

  6. Mysql一张表可以存储多少数据

    Mysql一张表可以存储多少数据 在操作系统中,我们知道为了跟磁盘交互,内存也是分页的,一页大小4KB.同样的在MySQL中为了提高吞吐率,数据也是分页的,不过MySQL的数据页大小是16KB.(确切 ...

  7. 常见Python问题及解决办法

    文件编码问题 如果Python文件中存在中文注释,在运行时报错"SyntaxError: Non-ASCII character '\xe7' in file". 解决办法: 在文 ...

  8. 为产品的一堆Visual Studio解决方案引入Directory.Build.props

    为什么需要Directory.Build.props? 一个产品有了多个甚至几十个解决方案之后,每个解决方案里面的项目可能会引用一个dll包的不同版本,因此需要集中管理dll包的版本号. .NET的D ...

  9. canal实现mysql跨机房备份

    背景介绍 跨机房数据库数据备份 数据库增量异构系统分发(cache,mq等) 数据内容聚合分析组件 摘录作者的描述 原理图 canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL ...

  10. VIM初使化

    vim ~/.vimrc #设置编码 set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936 #显示行号 set number #一个tab为4个空格 ...