【图表】echart指南

【图表】echart指南ECharts 是一个基于 JavaScript 的数据可视化库 支持多种图表类型 如折线图 柱状图和饼图

大家好,欢迎来到IT知识分享网。

概述

ECharts是一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。ECharts最初由百度团队开源,并于2018年初捐赠给Apache基金会,成为ASF孵化级项目。

ECharts 提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap、旭日图,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭。

可以流畅的运行在 PC 和移动设备上

基础概念

1、echarts 实例:

  • 一个网页中可以创建多个 echarts 实例。
  • 每个 echarts 实例中可以创建多个图表和坐标系等。
  • dom节点作为echarts的渲染容器,每一个echart独占一个dom节点。

2、系列(series)

系列:一组数值以及他们映射成的图.

一个系列包含的要素:一组数值、图表类型、以及其他的关于这些数据如何映射成图的参数等。

图表类型 (series.type)包括:

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

数据(series.data):

导入的数值。

  • ECharts 4 以前,数据只能声明在各个“系列(series)”中
  • ECharts 4 开始支持了 dataset
    组件用于单独的数据集声明,从而数据可以单独管理,被多个组件复用,并且可以基于数据指定数据到视觉的映射。
  • 关于数据我们会在后面进行学习,这里不展开详细叙述。

通用的样式(series.itemStyle):

包括阴影、透明度、颜色、边框颜色、边框宽度等。

3、组件(component):
legend图例组件,用于点击对应的图例是否显示,例如:

  • xAxis(直角坐标系 X 轴)
  • yAxis(直角坐标系 Y 轴)
  • grid(直角坐标系底板)
  • angleAxis(极坐标系角度轴)
  • radiusAxis(极坐标系半径轴)
  • polar(极坐标系底板)
  • geo(地理坐标系)
  • dataZoom(数据区缩放组件)
  • visualMap(视觉映射组件)
  • tooltip(提示框组件)
  • toolbox(工具栏组件)
  • series(系列)
    等。

4、option 描述图表

option表述了:数据、数据如何映射成图形、交互行为。

例如:使用option 来描述其对图表的各种需求,包括:有什么数据、要画什么图表、图表长什么样子、含有什么组件、组件能操作什么事情等等。

option是个大的 JavaScript 对象,他的内部有大量的属性,每个属性是一类组件。而多个同类组件,可以组成数组。

5:组件的定位

不同的组件、系列,常有不同的定位方式:

1)类 CSS 的绝对定位:

多数组件和系列,都能够基于 top/right/down/left/width/height绝对定位。这种绝对定位的方式,类似于 CSS 的绝对定位。

其中,他们每个值都可以是:

少数圆形的组件或系列,可以使用“中心半径定位”,例如,pie(饼图)、sunburst(旭日图)、polar(极坐标系)。

中心半径定位,往往依据 center(中心)、radius(半径)来决定位置。

3)其他定位:

少数组件和系列可能有自己的特殊的定位方式。在他们的文档中会有说明。

6、坐标系

  • 很多系列需要运行在 “坐标系” 上。

例如 line(折线图)、bar(柱状图)等,需要在 “坐标系” 上才能运行。

  • 一个坐标系,可能由多个组件协作而成。

我们以最常见的直角坐标系来举例。直角坐标系中,包括有 xAxis(直角坐标系 X 轴)、yAxis(直角坐标系 Y 轴)、grid(直角坐标系底板)三种组件。xAxis、yAxis 被 grid 自动引用并组织起来,共同工作。

  • 一个系列,往往能运行在不同的坐标系中。

例如,一个scatter(散点图)能运行在直角坐标系、极坐标系、地理坐标系(GEO)等各种坐标系中。同样,一个坐标系,也能承载不同的系列。

属性

1、title:写标题,属性如下

show:false/true 标题是否显示;

text:标题内容;textstyle修饰标题样式

subtext:副标题,也可以算是内容;subtextStyle修饰副标题样式;

2、legentd:图例组件展现了不同系列的标记(symbol),颜色和名字;

show:false/true 是否显示;

data:图例的数据数组;

3、grid:直角坐标系内绘图网格,单个 grid 内最多可以放置上下两个 X 轴,左右两个 Y 轴。可以在网格上绘制折线图,柱状图,散点图;

show:false/true 是否显示;

top、left、right、bottom标识上左右下的边距;

4、xAxis :直角坐标系 grid 中的 x 轴,单个 grid 组件最多只能放上下两个 x 轴。

5、yAxis:直角坐标系 grid 中的 y 轴,单个 grid 组件最多只能放左右两个 y 轴。

6、dataZoom:组件 用于对数据进行区域缩放,从而能自由关注细节的数据信息,或者概览数据整体。

7、tooltip:提示框组件。

默认为:[‘#c23531’,‘#2f4554’, ‘#61a0a8’, ‘#d48265’, ‘#91c7ae’,‘#749f83’, ‘#ca8622’, ‘#bda29a’,‘#6e7074’, ‘#’, ‘#c4ccd3’];

9、seriers:系列列表。每个系列通过type 决定自己的图表类型;

10、itemStyle 样式:

normal:color 颜色;

使用

简单入门使用

1、引用echarts.js文件

注意:需要引用时请到官网下载echarts.js文件。

<script type="text/javascript" src="js/echarts.js"></script> 

2、准备一个放视图的div(自定义)

<div id="chartmain" style="width:600px; height: 400px;"></div> 

3、设置参数,初始化自定义的图标

<script type="text/javascript"> //初始化echarts实例 var myChart = echarts.init(document.getElementById('chartmain')); //var myChart = echarts.init($("#chartmain")[0]); jquery方式 //指定图标的配置和数据 var option = { 
    title:{ 
    text:'ECharts 数据统计' }, tooltip:{ 
   }, legend:{ 
    data:['用户来源'] }, xAxis:{ 
    data:["Android","IOS","PC","Ohter"] }, yAxis:{ 
    }, series:[{ 
    name:'访问量', type:'line', data:[500,200,360,100] }] }; //使用制定的配置项和数据显示图表 myChart.setOption(option); </script> 

柱状图的中间显示数据

改变position的值:

1、外部位置:top:在柱状图顶部,bottom:在柱状图底部,right:在柱状图的右边,left:在柱状图左边。

2、内部位置:inside:在柱状图中间,insideRight:在柱状图内部的右边,insideLeft:在柱状图内部的右边,insideTop:在柱状图内部的顶部,insideBottom:在柱状图内部的底部。

代码demo:

series : [ { 
    name:'机器数量', type:'bar', barWidth: '60%', data:[569, 30], itemStyle:{ 
    normal:{ 
    label:{ 
    show:true, //表示是否显示 position: 'inside', //改变数字的位置 textStyle: { 
    //改变字体的颜色和字体大小 color: '#ffff', fontSize: 13 }, formatter: function(params){ 
    if(params.value == 0){ 
    return ''; }else { 
    return params.value; } } } } } } ] 

来源

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/114657.html

(0)
上一篇 2025-12-07 16:20
下一篇 2025-12-07 16:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信