Echarts数据可视化基础配置

 分类:js知识时间:2020-10-23点击:

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

Echarts数据可视化基础配置

0.常见的数据可视化库:

      D3目前Web 端评价最高的Javascript 可视化工具库(入手难)  

      ECharts一个开源 Javascript 数据可视化库上手简单,案例多  

      Highcharts国外的前端数据可视化库,非商用免费,被许多国外大公司所使用  

      AntV蚂蚁金服全新一代数据可视化解决方案

      Highcharts 和 Echarts的关系相当于是 Office 和 WPS 的关系

1.ECharts官网:https://echarts.apache.org/

2.ECharts特点:

   1)ECharts是一个JS插件

   2)ECharts性能好可流畅运行PC与移动设备

   3)ECharts兼容主流浏览器

   4)ECharts提供很多常用图表,且可定制。比如:折线图柱状图散点图饼图K线图等等

一、ECharts使用五部曲:

1.引入echarts包

<script src="js/echarts.min.js"></script>

2.准备一个DOM容器有大小

<div class="chart"></div>

3.初始化echarts实例对象

let myChart = echarts.init(document.querySelector('.chart'));

4.指定配置项和数据(option)

var option = {
    xAxis: {
        type: 'category',
        data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
    },
    yAxis: {
        type: 'value'
    },
    series: [{
        data: [820, 932, 901, 934, 1290, 1330, 1320],
        type: 'line'
    }]
};

5.将配置项设置给echarts实例对象

myChart.setOption(option);

二、基础配置

需要了解的主要配置:series xAxis yAxis grid tooltip title legend color

  • series

  • 系列列表。每个系列通过 type 决定自己的图表类型

  • 大白话:图标数据,指定什么类型的图标,可以多个图表重叠。

  • xAxis:直角坐标系 grid 中的 x 轴

  • boundaryGap: 坐标轴两边留白策略 true,这时候刻度只是作为分隔线,标签和数据点都会在两个刻度之间的带(band)中间。

  • yAxis:直角坐标系 grid 中的 y 轴

  • grid:直角坐标系内绘图网格。

  • title:标题组件

  • tooltip:提示框组件

  • legend:图例组件

  • color:调色盘颜色列表

数据堆叠,同个类目轴上系列配置相同的stack值后 后一个系列的值会在前一个系列的值上相加。

看下面的例子,你就懂了:

option = {
    // color设置我们线条的颜色 注意后面是个数组
    color: ['pink', 'red', 'green', 'skyblue'],
    // 设置图表的标题
    title: {
        text: '折线图堆叠123'
    },
    // 图表的提示框组件 
    tooltip: {
        // 触发方式
        trigger: 'axis'
    },
    // 图例组件
    legend: {
       // series里面有了 name值则 legend里面的data可以删掉
    },
    // 网格配置  grid可以控制线形图 柱状图 图表大小
    grid: {
        left: '3%',
        right: '4%',
        bottom: '3%',
        // 是否显示刻度标签 如果是true 就显示 否则反之
        containLabel: true
    },
    // 工具箱组件  可以另存为图片等功能
    toolbox: {
        feature: {
            saveAsImage: {}
        }
    },
    // 设置x轴的相关配置
    xAxis: {
        type: 'category',
        // 是否让我们的线条和坐标轴有缝隙
        boundaryGap: false,
        data: ['星期一', '周二', '周三', '周四', '周五', '周六', '周日']
    },
     // 设置y轴的相关配置
    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]
        }
    ]
};

三、根据需求定制图表

1.修改图表颜色大小

color: ["#2f89cf"],
   grid: {
     left: "0%",
     top: "10px",
     right: "0%",
     bottom: "4%",
     containLabel: true
   },

2.X轴相关设置  xAxis

  • 文本颜色设置为   rgba(255,255,255,.6)   字体大小为 12px

  • X轴线的样式 不显示

// 设置x轴标签文字样式
  // x轴的文字颜色和大小
        axisLabel: {
          color: "rgba(255,255,255,.6)",
          fontSize: "12"
        },
   //  x轴样式不显示
   axisLine: {
       show: false
       // 如果想要设置单独的线条样式 
       lineStyle: {
       color: "rgba(255,255,255,.1)",
       width: 1,
       type: "solid"
      }
   }

3.Y 轴相关定制 yAxis

yAxis: [
      {
        type: "value",
        // 修改刻度标签 相关样式
        axisLabel: {
          color: "rgba(255,255,255,.6) ",
          fontSize: 12
        },
        // y轴的线条改为了 2像素
        axisLine: {
          lineStyle: {
            color: "rgba(255,255,255,.1)",
            width: 2
          }
        },
        // y轴分割线的颜色
        splitLine: {
          lineStyle: {
            color: "rgba(255,255,255,.1)"
          }
        }
      }
    ],

4.修改柱形为圆角以及柱子宽度  series 里面设置

series: [
         {
           name: "直接访问",
           type: "bar",
           // 修改柱子宽度
           barWidth: "35%",
           data: [10, 52, 200, 334, 390, 330, 220],
           itemStyle: {
             // 修改柱子圆角
             barBorderRadius: 5
           }
         }
       ]
     };

5.让图表跟随屏幕自适应

window.addEventListener("resize", function() {
    myChart.resize();
  });

更多详细配置查看手册:https://echarts.apache.org/zh/option.html

除注明外的文章,均为来源:老汤博客,转载请保留本文地址!
原文地址: