当前位置: 首页 > news >正文

ECharts可视化库--常用组件

目录

一.series系列

二.常见组件 

1.标题title

2.图例legend 

3.工具栏toolbox

4.提示框tooltip 

5.坐标轴 xAxis yAsix

6.series系列


        上一篇已经介绍了ECharts库的导入工作和绘制基本的图标,今天我们来了解一下常用的组件,如果对数据可视化感兴趣的麻烦点个关注,内容会持续更新。

        如果不清楚ECharts库的导入过程的可以参考:ECharts导入

在介绍常用组件之前,先了解一下series系列

一.series系列

        我们知道数据的可视化包含了我们可以直接看见的图表,还包含了数据,而这些都包含series系列里,一个series系列必须包含两个要素:图表数值data图表类型type,有了这两个要素数据才可以表现出来

常见的图表类型:

  • 折线图line
  • 柱状图bar
  • 饼图pie
  • 散点图scatter
  • 关系图graph
  • 树图tree

        例如:一个折线图表,type为line,给定数据data

<script type="text/javascript">
    // 因为该demo会经常更该,所以要销毁前一个图表
    echarts.init(document.getElementById('div')).dispose();
    //定义
    var myChart = echarts.init(document.getElementById('div'));
    var option={
        xAxis:{
            data:[
                'jan','feb','mar','apr','may','jun',
                'jul','aug','sep','oct','nov','dec'
            ]
        },
        yAxis:{},
        series:[
            {
                type:'line',
                data:[43,62,56,91,23,5,12,31,38,97,86,57]
            }
            ]
    }
  myChart.setOption(option);
</script>

二.常见组件 

1.标题title

  • 主标题 title
  • 副标题 subtext
  • 位置 left
  • 主标题样式 textStyle
  • 副标题样式 subtextStyle
  • 可见性 show

例如:在上面的例子中加入标题


2.图例legend 

        图例legend方便对数据的分辨,它的data参数和series系列搭配使用

 var option={
        legend:{
         data:['人数'],  //要和series的name对于
    },
        xAxis:{
            data:[
                'jan','feb','mar','apr','may','jun',
                'jul','aug','sep','oct','nov','dec'
            ]
        },
        yAxis:{},
        series:[
            {
                name:'人数',
                type:'line',
                data:[43,62,56,91,23,5,12,31,38,97,86,57]
            }
            ]
    }

在数据上会多出legend图例 


3.工具栏toolbox

  • 保存图片 saveAslmage
  • 配置项还原 restore
  • 数据视图工具 dataView
  • 数据区域缩放 dataZoom
  • 动态类型切换 magicType

例如:加上toolbox后

toolbox:{
          feature:{
              saveAsImage:{type:'jpg'},
              dataView:{},
              restore:{},
              dataZoom:{},
              magicType:{
                  type:[
                      'line',
                      'bar',
                      'stack',
                      'titled'
                  ]
              }
          }
        },

图表上会多出一些工具 


4.提示框tooltip 

提示触发方式trigger

item 图形触发,主要在散点图,饼图等无类目轴的图表中使用

axis 坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表

none什么都不触发

例如:在上面的例子中加入提示框

 tooltip:{
          trigger:'axis'
        },

当鼠标触碰到图表坐标时,会有提示信息


5.坐标轴 xAxis yAsix

  •  坐标名称 name
  • 类名数据 data 

y轴的分割设置:

  • splitNUmber 分割段数
  • interval 坐标分割间隔
  • minlnterval 坐标轴最小间隔
  • maxlnterval 坐标轴最大间隔

6.series系列

  •  类型 type
  • 类名名 name
  • 数据data
  • 标记点 markPoint

markPoint:{

        data:[

{type:'min'},{type:'max'},{value:'value',coord:[x,y]}        //coord 坐标

]

}

  • 标记线 markLine

markLine:{

        data:[

{type:'min'},{type:'max'},{value:'value',coord:[x,y]}        //coord 坐标

]

}


全例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
<script src="echart.js"></script>
    <style>

    </style>
</head>
<body>
<div style="height: 500px;width: 600px" id="div"></div>
<script type="text/javascript">
    // 因为该demo会经常更该,所以要销毁前一个图表
    echarts.init(document.getElementById('div')).dispose();
    //定义
    var myChart = echarts.init(document.getElementById('div'));
    var option={
        legend:{
         data:['人数'],  //要和series的name对于
    },
  title:{
          text:'主标题',
            subtext:'副标题',
            textStyle:{
              color:'blue',
                fontSize:20
            },
            subtextStyle:{
              color: 'red',
                fontSize: 10
            }
        },
        toolbox:{
          feature:{
              saveAsImage:{type:'jpg'},
              dataView:{},
              restore:{},
              dataZoom:{},
              magicType:{
                  type:[
                      'line',
                      'bar',
                      'stack',
                      'titled'
                  ]
              }
          }
        },
        tooltip:{
          trigger:'axis'
        },
        xAxis:{
            data:[
                'jan','feb','mar','apr','may','jun',
                'jul','aug','sep','oct','nov','dec'
            ]
        },
        yAxis:{},
        series:[
            {
                name:'人数',
                type:'bar',
                data:[43,62,56,91,23,5,12,31,38,97,86,57],
            markPoint:{
                    data:[
                        {type:'min'},
                        {type: 'max'},
                        {coord:[0,70],value:70},
                    ]
            },
                // markLine:{
                //     date:[
                //         {name:'平均线',type:'min'},
                //     ]
                // },
            }
            ]
    }
  myChart.setOption(option);

</script>
</body>
</html>

相关文章:

  • 【FPGA】Verilog:时序电路应用 | 序列发生器 | 序列检测器
  • 【软件使用】MarkText下载安装与汉化设置 (markdown快捷键收藏)
  • 【前端必看】极大提高开发效率的网页 JS 调试技巧
  • VMware虚拟机安装Linux教程
  • 统计软件与数据分析—Lesson2
  • 【玩转c++】vector讲解和模拟底层实现
  • Scrapy框架(高效爬虫)
  • 2023湖南省“楚怡杯”职业技能大赛“网络安全” 项目比赛任务书
  • vue简介与环境搭建
  • React(五):受控组件、高阶组件、Portals、Fragment、CSS的编写方式
  • 用Python Flask为女朋友做一个简单的网站(附可运行的源码)
  • ACM---大一第三周周赛(Floyd算法+并查集算法学习周)
  • 【Spring】AOP底层原理(动态代理)-》 AOP概念及术语 -》 AOP实现
  • 蓝桥杯第十四届校内赛(第三期) C/C++ B组
  • STM32 10个工程篇:1.IAP远程升级(一)
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • [iOS]Core Data浅析一 -- 启用Core Data
  • CAP理论的例子讲解
  • css属性的继承、初识值、计算值、当前值、应用值
  • GraphQL学习过程应该是这样的
  • java取消线程实例
  • JAVA之继承和多态
  • js对象的深浅拷贝
  • Lsb图片隐写
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • node学习系列之简单文件上传
  • python 学习笔记 - Queue Pipes,进程间通讯
  • React-redux的原理以及使用
  • SQLServer之索引简介
  • Sublime text 3 3103 注册码
  • 表单中readonly的input等标签,禁止光标进入(focus)的几种方式
  • 从零开始的无人驾驶 1
  • 猴子数据域名防封接口降低小说被封的风险
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 面试总结JavaScript篇
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 实战|智能家居行业移动应用性能分析
  • 算法之不定期更新(一)(2018-04-12)
  • 探索 JS 中的模块化
  • 小试R空间处理新库sf
  • 与 ConTeXt MkIV 官方文档的接驳
  • RDS-Mysql 物理备份恢复到本地数据库上
  • 带你开发类似Pokemon Go的AR游戏
  • 关于Android全面屏虚拟导航栏的适配总结
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #Java第九次作业--输入输出流和文件操作
  • #pragma once与条件编译
  • (20)目标检测算法之YOLOv5计算预选框、详解anchor计算
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (zhuan) 一些RL的文献(及笔记)
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (删)Java线程同步实现一:synchronzied和wait()/notify()