echats的基础知识及使用

本文介绍了ECharts,一个基于JavaScript的数据可视化库,详细讲解了ECharts的用途、常见图表类型、颜色设置、渐变样式、标签配置、动态显示和缓动动画,以及重要的dispatchAction事件。建议读者通过官方文档深入学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天带大家了解以下echats

什么是echats

  • ECharts是一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。ECharts最初由百度团队开源,并于2018年初捐赠给Apache基金会,变成了免费开源。
  • 与echats同竞争的还有heightCharts和D3

使用echats的好处

更好的通过图表展示数据(大数据可视化)

echarts中常用的术语

  • title:标题
  • legend图例
  • xAxis、yAxis轴线
  • tooltip提示
  • toolbox工具箱

echarts中常用的图表类型

  • bar柱状图
    在这里插入图片描述

  • line折线图
    在这里插入图片描述

加上smooth属性就变成了曲线图
在这里插入图片描述

加上s areaStyle:“#f0”面积图
在这里插入图片描述

  • pie饼状图
    在这里插入图片描述

    加上 radius:[80,50]环形图
    在这里插入图片描述

echarts中常用的颜色相关

  • 主题颜色
    1、light
    在这里插入图片描述

2、dark
在这里插入图片描述

3、定制主题可前往官方网站定制自己喜欢的,然后下载导入即可使用
网站地址:https://echarts.apache.org/zh/theme-builder.html#acc-visualmap-body
在这里插入图片描述

  • color调色盘
    1、option.color:color: [“pink”, “#ff0”, “#f0f”, “#0ff”],
    2、series.item.color
    在这里插入图片描述

  • itemStyle项的颜色
    1、itemStyle:{color:“#00f” }
    2、itemStyle:{normal:{color:“#93da6c”},emphasis:{color:“#bcff57”}}

echarts中的特殊样式(渐变)

在这里插入图片描述

1、定义渐变

//定义渐变
    var linear = {
        type: 'linear',
        x: 0,
        y: 0,
        x2: 0,
        y2: 1,
        colorStops: [{
            offset: 0, color: '#02bcff' // 0% 处的颜色
        }, {
            offset: 1, color: '#5555ff' // 100% 处的颜色
        }],
        global: false // 缺省为 false
    }

2、使用渐变

itemStyle: {
     color: linear,
     borderRadius: [30, 30, 0, 0]
}

echarts的label标签

  • show:true是否显示

  • position:”insideRight“位置

  • formatter格式:formatter: “{a}\n{c}分”

     {a}系列名
     {b}数据名
     {c}数值
     {d}百分百
    
  • rich富文本

formatter: "{big|{d}}{small|%}\n{b}",
     rich: {
         big: {
            color: "#f70",
            fontSize: "48px",
            fontWeight: 900,
         },
         small: {
            color: "#f70",
         }
     }

在这里插入图片描述

echarts动态显示局部

在这里插入图片描述

  • 定义option
  • 修改option值
  • echart.setOption(option);更新数据和视图

echarts缓动动画

详细解释请看代码

var trends = data.data.trends.sort((a, b) => a.day - b.day);
    var echart = echarts.init(document.getElementById("container"),"dark");
    var option = {
        title: {
            text: "新冠肺炎趋势"
        },
        legend: {
            data: ["确诊病例"]
        },
        tooltip: {},
        yAxis: {},
        xAxis: {
            //只显示前20条数据
            data: trends.slice(0, 20).map(item => String(item.day).slice(-4))
        },
        series: [
            {
                name: "累计确诊",
                type: "bar",
                data: trends.slice(0, 20).map(item => item.sure_cnt)
            }
        ],
        //每个执行延迟的时间(idx就是下标随着下标的增大,延迟会长)
        //idx就是下标
        animationDelay: function (idx) {
            // 越往后的数据延迟越大
            return idx * 100;
        },
        //idx就是下标
        animationDuration: function (idx) {
            // 越往后的数据时长越大
            return idx * 100;
        },
        //弹性的方式出现动画
        animationEasing:"bounceInOut"
    };
    //每3秒执行一次动画
    var id = setInterval(move, 3000);
    function move() {
        //删除第一个数据
        var first = trends.shift();
        //添加到最后
        trends.push(first);
        //更新视图
        option.xAxis.data = trends.slice(0, 20).map(item => String(item.day).slice(-4));
        option.series[0].data = trends.slice(0, 20).map(item => item.sure_cnt);
        echart.setOption(option);
    }
    //鼠标移入停止动画
    echart.on("mousemove", function () {
        clearInterval(id);
    });
    //鼠标移出继续动画
    echart.on("mouseout", function () {
        id = setInterval(move, 3000);
    });
    echart.setOption(option);

在这里插入图片描述

这里用到了动画缓动函数:(animationEasing:“bounceInOut”)、事件监听echart.on(”事件名“,处理函数)

还有一个重要的发送事件dispatchAction
function play() {
        //发送一个显示提示的动作
        echart.dispatchAction({
            //显示提示
            type: 'showTip',
            //系列的index,在tooltip的trigger为axis的时候可选
            seriesIndex: 0,
            //数据项的index,如果不指定也可以通过那么属性根据名称指定数据项
            dataIndex: ind,
            //可选,数据项名称,在有dataIndex的时候忽略
            position: "top",
        });
        ind++;
        if (ind >= 20) {
            ind = 0;
        }
    }

总结

1、关于echarts官网网址:https://echarts.apache.org/zh/index.html
2、入门实例:https://echarts.apache.org/handbook/zh/get-started/

3、类的方法
在这里插入图片描述

4、实例方法
在这里插入图片描述

5、动作与事件
在这里插入图片描述

6、选项配置:option如何修改
在这里插入图片描述

最后,还是希望you可以自己多学会查看官网的api文档,自主学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值