数据可视化一、ECharts

news2024/11/17 17:26:18

零、文章目录

数据可视化一、ECharts

1、数据可视化

(1)数据可视化

  • 数据可视化主要目的:借助于图形化手段,清晰有效地传达与沟通信息。
  • 数据可视化可以把数据从冰冷的数字转换成图形,揭示蕴含在数据中的规律和道理。

image-20230330181813399

(2)数据可视化的场景

  • 目前互联网公司通常有这么几大类的可视化需求:

image-20230330182005521

(3)常见的数据可视化库

  • D3.js 目前 Web 端评价最高的 Javascript 可视化工具库(入手难)
  • ECharts.js 百度出品的一个开源 Javascript 数据可视化库
  • Highcharts.js 国外的前端数据可视化库,非商用免费,被许多国外大公司所使用
  • AntV 蚂蚁金服全新一代数据可视化解决方案
  • 等等

2、ECharts简介

  • ECharts是一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。

image-20230330182829638

  • 常用地址

    • 官网地址:https://echarts.apache.org/zh/index.html
    • 官网下载地址:https://echarts.apache.org/zh/download.html
    • 官网示例代码地址:https://echarts.apache.org/examples/zh/index.html
    • 官网配置项地址:https://echarts.apache.org/zh/option.html
  • 优点

    • 丰富的可视化类型
    • 多种数据格式支持
    • 流数据的支持
    • 移动端优化
    • 跨平台使用
    • 绚丽的特效
    • 详细的文档说明
  • 常用社区(各种定制图表)如下

    • https://www.isqqw.com/

    • https://www.makeapie.cn/echarts

    • http://chart.365api.cn/

    • http://chartlib.datains.cn/echarts

3、ECharts基本使用

(1)使用五步曲

  • 步骤1:官网下载并引入echarts.js文件:图表依赖这个js库
  • 步骤2:准备一个具备大小的DOM容器:生成的图表会放入这个容器内
  • 步骤3:初始化echarts实例对象:实例化echarts对象
  • 步骤4:指定配置项和数据(option):根据具体需求修改配置选项
  • 步骤5:将配置项设置给echarts实例对象:让echarts对象根据修改好的配置生效

案例如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>ECharts体验</title>
    <style>
        .box {
            width: 400px;
            height: 400px;
            background-color: pink;
        }
    </style>
    <!-- 1. 下载引入EChart.js 文件 -->
    <script src="js/echarts.min.js"></script>
</head>
<body>
    <!-- 2. 准备一个盒子用来装生成的图表 注意: 这个盒子必须具备大小 -->
   <div class="box"></div>
   <script>
    //    3.初始化echarts 实例对象    
     var myChart =  echarts.init(document.querySelector('.box'));
    //  4.  指定配置项和数据
     var option = {
            title: {
                text: 'ECharts 入门示例'
            },
            tooltip: {},
            legend: {
                data:['销量']
            },
            xAxis: {
                data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
            },
            yAxis: {},
            series: [{
                name: '销量',
                type: 'bar',
                data: [5, 20, 36, 10, 10, 20]
            }]
        };
        // 5. 将配置项和数据(option) 设置给 实例对象(myChart)
        myChart.setOption(option);
   </script>
</body>
</html>

image-20230505134941292

(2)如何下载

  • 官网下载地址:https://echarts.apache.org/zh/download.html

image-20230505135201574

  • 找到对应版本的代码库,对应的js文件即可,我们这里取压缩的版本
  • git相关知识参考:https://blog.csdn.net/liyou123456789/article/details/121411053

image-20230505135324511

(3)选择不同图表

  • 要展示不同类型的图表,只要更换第四步代码即可,其他部分都是一样的
  • 官网示例代码地址:https://echarts.apache.org/examples/zh/index.html
  • 找到你需要的,点进去,直接拷贝代码

image-20230505135704971

image-20230505135858226

案例如下:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>选择EChart图表</title>
    <style>
        .box {
            width: 450px;
            height: 450px;
            background-color: pink;
        }
    </style>
    <script src="js/echarts.min.js"></script>
</head>

<body>
    <div class="box"></div>
    <script>
        var myChart = echarts.init(document.querySelector('.box'));
        var option = {
            title: {
                text: 'Referer of a Website',
                subtext: 'Fake Data',
                left: 'center'
            },
            tooltip: {
                trigger: 'item'
            },
            legend: {
                orient: 'vertical',
                left: 'left'
            },
            series: [{
                name: 'Access From',
                type: 'pie',
                radius: '50%',
                data: [{
                    value: 1048,
                    name: 'Search Engine'
                }, {
                    value: 735,
                    name: 'Direct'
                }, {
                    value: 580,
                    name: 'Email'
                }, {
                    value: 484,
                    name: 'Union Ads'
                }, {
                    value: 300,
                    name: 'Video Ads'
                }],
                emphasis: {
                    itemStyle: {
                        shadowBlur: 10,
                        shadowOffsetX: 0,
                        shadowColor: 'rgba(0, 0, 0, 0.5)'
                    }
                }
            }]
        };
        myChart.setOption(option);
    </script>
</body>

</html>

image-20230505140128988

(4)相关配置项

  • 官网配置项地址:https://echarts.apache.org/zh/option.html
  • 先了解以下几个主要配置的作用,其余配置还有具体细节我们可以查阅文档:菜单—配置项手册,学echarts关键在于学会查阅文档,根据需求修改配置

image-20230505141219980

  • title:标题组件
  • tooltip:提示框组件
  • legend:图例组件
  • toolbox: 工具栏
  • grid:直角坐标系内绘图网格
  • xAxis:直角坐标系grid 中的 x 轴
  • yAxis:直角坐标系 grid 中的 y 轴
  • color:调色盘颜色列表
  • series: 系列列表
    • type: 类型 (什么类型的图表) 比如 line 是折线 bar 柱形等
    • name: 系列名称,用于tooltip的显示,legend 的图例筛选 变化
    • stack: 如果设置相同值,则会数据堆叠。如果指定不同值或者去掉这个属性则不会数据堆叠,数据堆叠就是在页面上的数值是下面的数值叠加上去的,不是直接取数组中的值

image-20230330184825292

案例如下:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>定制ECharts图表相关配置</title>
    <style>
        .box {
            width: 450px;
            height: 450px;
            background-color: pink;
        }
    </style>
    <script src="js/echarts.min.js"></script>
</head>

<body>

    <div class="box"></div>
    <script>
        var myChart = echarts.init(document.querySelector('.box'));
        var option = {
            color: ['pink', 'blue', 'green', 'skyblue', 'red'],
            title: {
                text: '我的折线图'
            },
            tooltip: {
                trigger: 'axis'
            },
            legend: {
                data: ['直播营销', '联盟广告', '视频广告', '直接访问']
            },
            grid: {
                left: '3%',
                right: '3%',
                bottom: '3%',
                // 当刻度标签溢出的时候,grid 区域是否包含坐标轴的刻度标签。如果为true,则显示刻度标签
                // 如果left right等设置为 0% 刻度标签就溢出了,此时决定是否显示刻度标签
                containLabel: true
            },
            toolbox: {
                feature: {
                    saveAsImage: {}
                }
            },
            xAxis: {
                type: 'category',
                // 坐标轴两边留白策略 true,这时候刻度只是作为分隔线,标签和数据点都会在两个刻度之间的带(band)中间。
                boundaryGap: false,
                data: ['星期一', '星期二', '周三', '周四', '周五', '周六', '周日']
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                name: '直播营销',
                // 图表类型是线形图
                type: 'line',
                data: [120, 132, 101, 134, 90, 230, 210]
            }, {
                name: '联盟广告',
                type: 'line',
                data: [220, 182, 191, 234, 290, 330, 310]
            }, {
                name: '视频广告',
                type: 'line',
                data: [150, 232, 201, 154, 190, 330, 410]
            }, {
                name: '直接访问',
                type: 'line',
                data: [320, 332, 301, 334, 390, 330, 320]
            }]
        };

        myChart.setOption(option);
    </script>
</body>

</html>

image-20230505151612833

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/509394.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TGANet:用于改进息肉分割的文本引导注意力

文章目录 TGANet: Text-Guided Attention for Improved Polyp Segmentation摘要本文方法编码器模块Feature Enhancement ModuleLabel AttentiondecoderMulti-scale Feature Aggregation损失函数 实验结果 TGANet: Text-Guided Attention for Improved Polyp Segmentation 摘要…

2023年湖北建设厅特种工报名需要什么条件?报名流程是什么?

2023年湖北建设厅特种工报名需要什么条件&#xff1f;报名流程是什么&#xff1f; 建设厅特种工现在已经开始报名考试安排计划了&#xff0c;想要报考建设厅特种工的现在可以了解一下具体的流程以及相关信息哟。为自己报名考试做准备&#xff0c;下面启程别就来给您介绍一下建设…

从入门到精通:接口自动化测试中加密、解密和Sign签名的完整指南

【专业解读】接口自动化测试安全机制剖析&#xff1a;加密、解密和sign签名技术原理与应用&#xff01; 目录 摘要&#xff1a; 1. 加密 2. 解密 3. Sign签名 4. 示例 摘要&#xff1a; 在进行接口自动化测试时&#xff0c;加密、解密和sign签名是非常重要的步骤。这些过…

基于单片机的数字频率计设计

数字频率计概述 数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号&#xff0c;方波信号及其他各种单位时间内变化的物理量。在进行模拟、数字电路的设计、安装、调试…

基于AT89C52单片机的温度检测设计与仿真

点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87770153 源码获取 主要内容: 本设计是基于52系列的单片机进行的设计,可以完成温度的测控,可以实现实际温度与设定温度区域的比较,并在LED上相应的显示结果。设计过程在硬…

算法 DAY57 动态规划13 647. 回文子串 516.最长回文子序列

647. 回文子串 暴力解法&#xff1a;两层for循环&#xff0c;再加一个判断是否是回文子串&#xff0c;时间复杂度O(n3) 五部曲 1、 判断一个子字符串&#xff08;字符串的下表范围[i,j]&#xff09;是否回文&#xff0c;依赖于&#xff0c;子字符串&#xff08;下表范围[i 1,…

CLion安装(详细步骤+截图)

目录 一、CLion-2021.1.3.exe 下载 二、运行环境mingw-w64压缩包下载 三、 安装插件 ---- ide-eval-resetter-2.1.13压缩包下载 一、CLion-2021.1.3.exe 下载 Other Versions - CLion (jetbrains.com) 1、下载 2、更改路径 &#xff08;不要放在含有中文的路径下&a…

【Java面试】Java基础-集合相关知识点(1)

文章目录 1. 集合有哪些类&#xff1f;2. ArrayList3. Map主要有哪些类&#xff1f; 容器主要包括 Collection 和 Map 两种&#xff0c;Collection 存储着对象的集合&#xff0c;而 Map 存储着键值对(两个对象)的映射表。 1. 集合有哪些类&#xff1f; 集合是一组相关对象的容…

ThreadLocal底层源码解析

线程隔离&#xff0c;保证多线性访问安全 每个线程拿到的值私有&#xff0c;相互不干扰 ThreadLocal是JDK包提供的&#xff0c;它提供线程本地变量&#xff0c;如果创建一乐ThreadLocal变量&#xff0c;那么访问这个变量的每个线程都会有这个变量的一个副本&#xff0c;在实际…

跳槽? 我只想多赚点罢了

前言 五一过后也就也就意味着今年的金三银四跳槽季正式结束了&#xff0c;不知道大家是否拿到了offer&#xff0c;面对金三银四的招聘旺季&#xff0c;如果没有精心准备那笔者认为那是对自己不负责任&#xff1b;就我们测试员来说&#xff0c;多数的公司总体上面试都是以自我介…

表的存储原理(数据库)

目录 一、内部存储概述 二、 数据行&#xff08;记录&#xff09;结构 1、定长记录 2、变长记录 一、内部存储概述 表是有关某个特定实例的数据集合&#xff0c;在关系数据库中处于核心地位。 创建一个表&#xff0c;就会有一行或多行插入到用来管理这个表的多个系统表里。…

如何压缩照片大小不大于200k

如何压缩照片大小不大于200k&#xff1f;有时候需要压缩照片大小不大于200k是因为在一些场景下&#xff0c;上传或传输大文件会受到限制&#xff0c;例如通过电子邮件发送、上传到云存储空间等等。在这种情况下&#xff0c;压缩照片可以让图片更容易地传输和分享&#xff0c;并…

基于simulink进行音频波束成形系统的多核仿真

一、前言 此示例展示了 Simulink中的音频波束成形系统仿真模型如何使用数据流域提高性能。它使用 Simulink 中的数据流域自动将通信系统的数据驱动部分划分为多个线程&#xff0c;从而通过在桌面的多个内核上执行模拟来提高仿真的性能。 二、介绍 数据流执行域允许您在计算密集…

Docker Overlay2占用大量磁盘空间解决

问题 最近项目的jenkins编译时报错 FATAL: Unable to produce a script filejava.io.IOException: No space left on deviceat java.io.UnixFileSystem.createFileExclusively(Native Method)at java.io.File.createTempFile(File.java:2024)at hudson.FilePath$CreateTextTem…

#vue项目冗余请求处理#http://localhost:8080/sockjs-node/info?t=1683604231866

目录 前言一、为什么会出现这个请求&#xff1f;二、解决方法1.修改源码 总结 前言 提示&#xff1a;本文要记录的大概内容&#xff1a; 在我的vue项目中&#xff0c;开发环境下&#xff0c;一直重复发请求&#xff1a;http://localhost:8080/sockjs-node/info?t16836042318…

《花雕学AI》33:如何用XMind制作AI思维导图、鱼骨图和组织结构图

思维导图是一种有效的思维工具&#xff0c;它可以帮助我们整理信息&#xff0c;激发创意&#xff0c;提高效率。思维导图是一种以中心主题为核心&#xff0c;以分支结构为形式&#xff0c;以关键词和图像为内容的图形表示法。它可以让我们一目了然地看到知识的层次和逻辑&#…

手把手教你Vue+ECharts+高德地图API实现天气预报数据可视化

前言 所谓数据可视化&#xff0c;我们可以理解为从宏观角度来看一眼就能看出来整个数据的占比&#xff0c;走向。对于数据可视化&#xff0c;很多互联网公司是很看重这一块的&#xff0c;包括大厂&#xff1b;就比如阿里的淘宝&#xff0c;双十一的时候往往就需要将消费者的一…

论文浅尝 | 句法丰富的判别训练:一种有效的开放信息抽取方法

笔记整理&#xff1a;杜苗增&#xff0c;东南大学硕士&#xff0c;研究方向为多模态信息抽取 链接&#xff1a;https://aclanthology.org/2022.emnlp-main.401.pdf 动机 开放信息提取(OIE)是信息提取(IE)的一个分支&#xff0c;专注于从非结构化自然语言文本中提取结构化信息。…

论文笔记_2017_RS_迈向高清 3D 城市测绘:基于道路特征的移动测绘系统和航空影像配准

基本情况 出处&#xff1a;Javanmardi M, Javanmardi E, Gu Y, et al. Towards high-definition 3D urban mapping: Road feature-based registration of mobile mapping systems and aerial imagery[J]. Remote Sensing, 2017, 9(10): 975.原文地址&#xff1a;Remote Sensin…