首页 > 其他分享 >记录--Echarts绘制气泡图

记录--Echarts绘制气泡图

时间:2023-12-12 19:12:10浏览次数:41  
标签:... -- series 配置 type Echarts 气泡

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

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

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

 

标签:...,--,series,配置,type,Echarts,气泡
From: https://www.cnblogs.com/smileZAZ/p/17897619.html

相关文章

  • 将QWebEngineView添加到QStackedWidget或QTabWidget中导致切换按钮失效的解决方案
    问题描述:将QWebEngineView添加到QStackedWidget或QTabWidget中导致切换按钮失效,如果只有两个来回切的话,是没有问题的,当出现多个页面的时候,就会切换失灵。解决思路:将QWebEngineView浮到上面,只要实现大小、位置、显示隐藏与主页面同步即可。 QWebEngineView窗口构造窗口添加:se......
  • 冲刺(day2)
    团队任务总结一、团队成员任务分配为了推进项目的进展,我们团队在今天共同完成了两个重要的功能模块。以下是团队成员在这两个模块上的任务分配和进展:张钰权:负责解密功能的实现。成功完成了解密文件的编写,包括AES解密和RSA密钥解密,确保解密过程的正确性和安全性。周绍坤:......
  • flutter iOS 使用BasicMessageChannel 通信
    flutter代码//main.dartimport'package:flutter/material.dart';import'package:flutter/services.dart';voidmain(){runApp(constMyApp());}classMyAppextendsStatelessWidget{constMyApp({Key?key}):super(key:key);@o......
  • GVM管理go的版本
    安装要使用GVM(Go版本管理器)安装Golang,您可以按照以下步骤操作:1.安装GVM:首先,您需要在终端中运行以下命令来安装GVM:bash<<(curl-s-S-Lhttps://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)2.打开一个新终端激活gvm脚本:安装完GVM后,您需要......
  • go-zero开发入门之网关往rpc服务传递数据
    go-zero的网关往rpc服务传递数据时,可以使用headers,但需要注意前缀规则,否则会发现数据传递不过去,或者对方取不到数据。go-zero的网关对服务的调用使用了第三方库grpcurl,入口函数为InvokeRPC:grpcurl.InvokeRPC(r.Context(),source,cli.Conn(),rpcPath,s.prepareMetadat......
  • AtCoder Beginner Contest 332
    AtCoderBeginnerContest332A-OnlineShopping代码:#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;constintN=1e6+10;typedefpair<ll,ll>pii;voidsolve(){intn,s,k;cin>>n>>s>>......
  • IDEA插件Apipost-Helper使用介绍
    IDEA是一款功能强大的集成开发环境(IDE),它可以帮助开发人员更加高效地编写、调试和部署软件应用程序。我们在编写完接口代码后需要进行接口调试等操作,一般需要打开额外的调试工具。今天给大家介绍一款IDEA插件:Apipost-Helper-2.0。代码写完直接编辑器内调试、还支持生成接口文档、......
  • IDEA中的Postman!这款插件:免费,好用!
    Postman是大家最常用的API调试工具,那么有没有一种方法可以不用手动写入接口到Postman,即可进行接口调试操作?今天给大家推荐一款IDEA插件:ApipostHelper,写完代码就可以调试接口并一键生成接口文档!而且还可以根据已有的方法帮助您快速生成url和params。更重要的是他完全免费!Apipos......
  • java文件的上传与下载
    1、文件上传下载1.1文件上传什么是文件上传?要将客户端(浏览器)大数据存储到服务器端,不将数据直接存储到数据库中,而是要将数据存储到服务器所在的磁盘上,这就要使用文件上传。为什么使用文件上传?通过文件上传,可以将浏览器端的大数据直接保存到服务器端。不将数据保存到数据库中......
  • 包装效果图渲染技巧:怎么用云渲染省钱、省时间
    在今天这个市场竞争白热化的时代,一个产品的包装设计往往决定了它在架上是否能够脱颖而出。因此,品牌在推向市场前精心设计的包装效果图显得尤为重要。在这里,我们将探究包装效果图渲染的关键性、渲染技巧及云渲染技术如何在提升渲染品质与降低成本上发挥其作用。包装效果图渲染的......