可视化库

可视化库

常见可视化库

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

  • ECharts.js 百度出品的一个开源 Javascript 数据可视化库

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

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

总的来说:

  • 是一个JS插件

  • 性能好可流畅运行PC与移动设备

  • 兼容主流浏览器

  • 提供很多常用图表,且可定制

 

Echarts

使用步骤:

  1. 引入echarts 插件文件到html页面中

  2. 准备一个具备大小的DOM容器

    <div id="main" style="width: 600px;height:400px;"></div>
  3. 初始化echarts实例对象

    var myChart = echarts.init(document.getElementById('main'));
  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);
  6. 大屏匹配的时候,监听屏幕大小自适应图表大小

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

 

基础配置

  • 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',
            //这个属性要注意,往后的值会累加,下一个值是120+220,一般可以不用这个属性
            stack: '总量'
            data: [120, 132, 101, 134, 90, 230, 210],
            itemStyle: {
                normal: {
                barBorderRadius: 20,
                color: function(params){
                     //params为每个柱子的属性,这里myColor为一个颜色数组,根据dataIndex属性让柱子有不同的颜色
                        return myColor[params.dataIndex]
                    }
                },
            },
        },
        {
            name: '联盟广告',
            type: 'line',
            stack: '总量'
            data: [220, 182, 191, 234, 290, 330, 310]
        }
    ]
};

 

 
posted @ 2023-01-15 21:41  Jacky02  阅读(49)  评论(0编辑  收藏  举报