Echart篇之基础介绍

1,820 阅读9分钟

前言

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

官网

常见Echart图类型

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

Echart特性

  1. 丰富的可视化类型
  2. 多种数据格式无需转换直接使用
  3. 千万数据的前端展现
  4. 移动端优化
  5. 多渲染方案,跨平台使用!
  6. 深度的交互式数据探索
  7. 多维数据的支持以及丰富的视觉编码手段

Echart基础属性

背景

backgroundColor: ‘rgba(0,0,0,0)’, // raba可以设置透明度

默认色板

color: ['#ff7f50','#87cefa','#da70d6','#32cd32','#6495ed',

    '#ff69b4','#ba55d3','#cd5c5c','#ffa500','#40e0d0',

    '#1e90ff','#ff6347','#7b68ee','#00fa9a','#ffd700',

    '#6699FF','#ff6666','#3cb371','#b8860b','#30e0e0'],

图表标题

title: {

    x: 'left',                // 水平安放位置,默认为左对齐,可选为:

                      // 'center' ¦ 'left' ¦ 'right'

                      // ¦ {number}(x坐标,单位px)

    y: 'top',             // 垂直安放位置,默认为全图顶端,可选为:

                      // 'top' ¦ 'bottom' ¦ 'center'

                      // ¦ {number}(y坐标,单位px)

    //textAlign: null          // 水平对齐方式,默认根据x设置自动调整

    backgroundColor: 'rgba(0,0,0,0)',

    borderColor: '#ccc',          // 标题边框颜色

    borderWidth: 0,           // 标题边框线宽,单位px,默认为0(无边框)

    padding: 5,             // 标题内边距,单位px,默认各方向内边距为5,

                              // 接受数组分别设定上右下左边距,同css

    itemGap: 10,             // 主副标题纵向间隔,单位px,默认为10,

    textStyle: {

        fontSize: 18,

        fontWeight: 'bolder',

        color: '#333'// 主标题文字颜色

    },

    subtextStyle: {

        color: '#aaa'// 副标题文字颜色

    }

}

图例

legend: {

    orient: 'horizontal',          // 布局方式,默认为水平布局,可选为:

                       // 'horizontal' ¦ 'vertical'

    x: 'center',                // 水平安放位置,默认为全图居中,可选为:

                              // 'center' ¦ 'left' ¦ 'right'

                       // ¦ {number}(x坐标,单位px)

    y: 'top',              // 垂直安放位置,默认为全图顶端,可选为:

                       // 'top' ¦ 'bottom' ¦ 'center'

                       // ¦ {number}(y坐标,单位px)

    backgroundColor: 'rgba(0,0,0,0)',

    borderColor: '#ccc',            // 图例边框颜色

    borderWidth: 0,                // 图例边框线宽,单位px,默认为0(无边框)

    padding: 5,                  // 图例内边距,单位px,默认各方向内边距为5,

                               // 接受数组分别设定上右下左边距,同css

    itemGap: 10,              // 各个item之间的间隔,单位px,默认为10,

                        // 横向布局时为水平间隔,纵向布局时为纵向间隔

    itemWidth: 20,             // 图例图形宽度

    itemHeight: 14,            // 图例图形高度

    textStyle: {

        color: '#333'// 图例文字颜色

    }

}

工具栏

toolbox: {

    orient: 'horizontal',            // 布局方式,默认为水平布局,可选为:

                        // 'horizontal' ¦ 'vertical'

    x: 'right',              // 水平安放位置,默认为全图右对齐,可选为:

                        // 'center' ¦ 'left' ¦ 'right'

                        // ¦ {number}(x坐标,单位px)

    y: 'top',               // 垂直安放位置,默认为全图顶端,可选为:

                        // 'top' ¦ 'bottom' ¦ 'center'

                        // ¦ {number}(y坐标,单位px)

    color : ['#1e90ff','#22bb22','#4b0082','#d2691e'],

    backgroundColor: 'rgba(0,0,0,0)',    // 工具箱背景颜色

    borderColor: '#ccc',             // 工具箱边框颜色

    borderWidth: 0,                 // 工具箱边框线宽,单位px,默认为0(无边框)

    padding: 5,                    // 工具箱内边距,单位px,默认各方向内边距为5,

                                // 接受数组分别设定上右下左边距,同css

    itemGap: 10,                  // 各个item之间的间隔,单位px,默认为10,

                                // 横向布局时为水平间隔,纵向布局时为纵向间隔

    itemSize: 16,              // 工具箱图形宽度

    featureImageIcon : {},            // 自定义图片icon

    featureTitle : {

        mark : '辅助线开关',

        markUndo : '删除辅助线',

        markClear : '清空辅助线',

        dataZoom : '区域缩放',

        dataZoomReset : '区域缩放后退',

        dataView : '数据视图',

        lineChart : '折线图切换',

        barChart : '柱形图切换',

        restore : '还原',

        saveAsImage : '保存为图片'

    }

}

提示框

tooltip: {

    trigger: 'item',           // 触发类型,默认数据触发,见下图,可选为:'item' ¦ 'axis'

    showDelay: 20,             // 显示延迟,添加显示延迟可以避免频繁切换,单位ms

    hideDelay: 100,            // 隐藏延迟,单位ms

    transitionDuration : 0.4,         // 动画变换时间,单位s

    backgroundColor: 'rgba(0,0,0,0.7)',  // 提示背景颜色,默认为透明度为0.7的黑色

    borderColor: '#333',            // 提示边框颜色

    borderRadius: 4,                // 提示边框圆角,单位px,默认为4

    borderWidth: 0,                // 提示边框线宽,单位px,默认为0(无边框)

    padding: 5,                   // 提示内边距,单位px,默认各方向内边距为5,

                                // 接受数组分别设定上右下左边距,同css

    axisPointer : {                 // 坐标轴指示器,坐标轴触发有效

        type'line',         // 默认为直线,可选为:'line' | 'shadow'

        lineStyle : {          // 直线指示器样式设置

            color: '#48b',

            width: 2,

            type'solid'

        },

        shadowStyle : {              // 阴影指示器样式设置

            width: 'auto',         // 阴影大小

            color: 'rgba(150,150,150,0.3)'// 阴影颜色

        }

    },

    textStyle: {

        color: '#fff'

    }

}

网格

grid: {

    x: 80,

    y: 60,

    x2: 80,

    y2: 60,

    // width: {totalWidth} - x - x2,

    // height: {totalHeight} - y - y2,

    backgroundColor: 'rgba(0,0,0,0)',

    borderWidth: 1,

    borderColor: '#ccc'

}

此处只列举常见公共部分的api,详见官网api