37-Vue之ECharts高级-交互API

news2024/9/21 18:54:44

交互API

      • 前言
      • 全局ECharts对象
      • echartsInstance对象


前言

  • 本篇来学习下ECharts中交互API的使用

全局ECharts对象

  • 全局 echarts 对象是引入 echarts.js 文件之后就可以直接使用的
  1. init :初始化ECharts实例对象,使用主题

  2. registerTheme:注册主题

 echarts.registerTheme('CustomTheme', {
        "color": [
            "#5470c6",
            "#91cc75",
            "#fac858",
            "#ee6666",
            "#73c0de",
            "#3ba272",
            "#fc8452",
            "#9a60b4",
            "#ea7ccc"
        ],
  1. registerMap:注册地图数据
  2. connect:实现多图关联,传入联动目标为 EChart 实例,支持数组
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>全局ECharts对象</title>
    <!-- cdn方式 引入echarts.js文件 -->
    <script src="https://cdn.jsdelivr.net/npm/echarts@5.4.1/dist/echarts.min.js"></script>
    <!-- 引入自定义主题-->
    <script src="lib/CustomTheme.js"></script>
    <!--引入jquery-->
    <script src="lib/jquery.min.js"></script>
</head>

<body>
<!-- 准备一个呈现图表的盒子 -->
<div id='app' style="width: 600px;height: 400px;border: 1px solid deeppink"></div>
<div id='map' style="width: 600px;height: 400px;border: 1px solid blueviolet"></div>
<script>
    // init 初始化echarts实例对象 并设置主题
    var myCharts = echarts.init(document.getElementById('app'), 'CustomTheme')
    var xDataArr = ['张三', '李四', '王五', '大明白', '小糊涂'] // x轴数据
    var yDataArr = [88, 92, 63, 77, 94]  // y轴数据
    var option = {
        toolbox: {
            feature: {
                saveAsImage: {}
            }
        },
        xAxis: {
            type: 'category',
            data: xDataArr
        },
        yAxis: {
            type: 'value'
        },
        series: [
            {
                name: '分数',
                type: 'bar',  // 图表类型  bar:柱状图   line:折线图   pie:饼图
                data: yDataArr,
                markPoint: {   // 标记最大最小值
                    data: [
                        {type: 'max', name: '最大值'},
                        {type: 'min', name: '最小值'}
                    ]
                },
                markLine: {
                    data: [
                        {
                            type: 'average', name: '平均值'
                        }
                    ]
                },
                label: {
                    show: true,  // 柱状图显示数值
                    rotate: 30, // 值旋转角度
                },
                barWidth: '30%' // 柱的宽度
            }
        ]
    }
    myCharts.setOption(option)

    var myCharts2 = echarts.init(document.getElementById("map"))
    // json/map/china.json 为本地的地图矢量数据
    $.get('json/map/china.json', function (chinaJson) {
        console.log(chinaJson) // chinaJson 地图矢量数据
        // registerMap :注册地图矢量数据  
        echarts.registerMap('chinaMap', chinaJson)

        var option = {
            geo: {
                type: 'map',// map是一个固定的值 类型
                map: 'chinaMap',//chinaMap需要和registerMap中的第一个参数保持一致
                roam: true, // 设置允许缩放以及拖动的效果
                label: {
                    show: true // 展示标签
                },
                zoom: 1, // 设置初始化的缩放比例
            }

        }
        myCharts2.setOption(option)

        // connect : 实现多图关联
        echarts.connect([myCharts, myCharts2])
    })
</script>
</body>

</html>
  • 多图联动保存的图片
    在这里插入图片描述

echartsInstance对象

eChartsInstance 对象是通过 echarts.init 方法调用之后得到的实例对象

  • setOption
    • 设置或修改图表实例的配置项以及数据
    • 多次调用setOption方法
      合并新的配置和旧的配置
      增量动画
  • resize : 重新计算和绘制图表
window.onresize = function(){
  myChart.resize();
}
  • on/off:绑定或者解绑事件处理函数
    • 鼠标事件
      • 常见事件: ‘click’、‘dblclick’、‘mousedown’、‘mousemove’、‘mouseup’
    • ECharts 事件
      • legendselectchanged、‘datazoom’、‘pieselectchanged’、‘mapselectchanged’
  • dispatchAction: 主动触发某些行为, 使用代码模拟用户的行为
  • clear:清空当前实例,会移除实例中所有的组件和图表;清空之后可以再次 setOption
  • dispose:销毁实例;销毁后实例无法再被使用
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>echartsInstance对象</title>
    <!-- cdn方式 引入echarts.js文件 -->
    <script src="https://cdn.jsdelivr.net/npm/echarts@5.4.1/dist/echarts.min.js"></script>
    <script src="lib/jquery.min.js"></script>
</head>

<body>
<div id='app' style="width: 600px;height:400px"></div>
<button id="btn1">触发行为</button>
<button id="btn2">clear</button>
<button id="btn3">setOption</button>
<button id="btn4">dispose</button>
<script>

    var mCharts = echarts.init(document.getElementById("app"))

    var pieData = [
        {
            name: 'pass',
            value: 80
        },
        {
            name: 'fail',
            value: 10
        },
        {
            name: 'skip',
            value: 5
        },
        {
            name: 'error',
            value: 5
        }
    ]
    var option = {
        legend: {
            data: ['pass', 'fail', 'skip', 'error']
        },
        tooltip: {
            show: true
        },
        series: [
            {
                type: 'pie',
                data: pieData,
                label: {
                    show: true,
                    formatter: function (arg) {
                        console.log(arg)
                        return arg.data.name + '\n' + arg.percent + '%'

                    }
                },
                selectedMode: 'single',  // multiple 多选  single 单选
                selectedOffset: 30,// 偏移距离
                // radius: ['50%', '80%']

            }

        ]
    }
    mCharts.setOption(option)
    // 事件监听
    mCharts.on('click', function (arg) {
        console.log(arg)
    })
    mCharts.off('click') // 解绑click的事件

    // echarts事件变化
    mCharts.on('legendselectchanged', function (arg) {
        console.log('legendselectchanged', arg)
    })
    $('#btn1').click(function () {
        // 模拟用户的行为
        mCharts.dispatchAction({
            type: 'highlight',
            seriesIndex: 0, // 图表索引
            dataIndex: 1 // 数据的索引 图表中的哪一项
        })
        mCharts.dispatchAction({
            type: 'showTip',
            seriesIndex: 0,
            dataIndex: 0
        })
    })
    $('#btn2').click(function () {
        // 清空图表的实例
        mCharts.clear()
    })
    $('#btn3').click(function () {
        // 重新设置option
        mCharts.setOption(option)
    })
    $('#btn4').click(function () {
        // 销毁mCharts
        mCharts.dispose()
    })
</script>
</body>

</html>


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/134754.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Avatar和虚拟场景如何影响用户VR社交行为

对于VR社交来讲&#xff0c;虚拟场景&#xff08;社交环境&#xff09;、Avatar&#xff08;虚拟化身&#xff09;是两个重要的元素&#xff0c;一个代表了人们在VR中互动的空间&#xff0c;而另一个则代表他们在这个空间中所扮演的角色。现阶段&#xff0c;Avatar有多种形态&a…

已解决import tensorflow.contrib.layers as layers导包错误

已解决W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library ‘cudart64_110.dll’; dlerror: cudart64_110.dll not found I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not ha…

opencv-python常用函数解析及参数介绍(八)——轮廓与轮廓特征

轮廓与轮廓特征前言1.获取轮廓通过膨胀与腐蚀获得轮廓通过梯度获取轮廓通过边缘检测获取轮廓2.寻找轮廓参数及作用对比3.轮廓特征前言 在前面的文章中我们已经学会了使用膨胀与腐蚀、使用梯度、使用边缘检测的方式获得图像的轮廓&#xff0c;那么在获得轮廓后我们可以对图像进…

​赛分科技冲刺科创板上市:拟募资8亿元,复星、高瓴为股东​

近日&#xff0c;苏州赛分科技股份有限公司&#xff08;下称“赛分科技”&#xff09;在上海证券交易所递交招股书&#xff0c;准备在科创板上市。本次冲刺上市&#xff0c;赛分科技计划募资8亿元&#xff0c;将用于20万升/年生物医药分离纯化用辅料、研发中心建设项目&#xf…

《收获,不止Oracle》读书笔记一

当今时代 技术人员&#xff0c;真正的差距其实在意识 1.忽略了知识的重点 20%的知识&#xff0c;解决80%的问题 2.从未考虑知识落地 知识要落地&#xff0c; 要思考应用的场合。 学习任何技术都是一样的&#xff0c;没有思考过你所学的某项技术有什么用&#xff0c;没有想…

P1827 [USACO3.4] 美国血统 American Heritage

题目描述 农夫约翰非常认真地对待他的奶牛们的血统。然而他不是一个真正优秀的记帐员。他把他的奶牛 们的家谱作成二叉树&#xff0c;并且把二叉树以更线性的“树的中序遍历”和“树的前序遍历”的符号加以记录而 不是用图形的方法。 你的任务是在被给予奶牛家谱的“树中序遍历…

计算机网络 | 湖科大教书匠

一、因特网概述 1、网络、互联网和因特网 网络是由若干结点和连接这些结点的链路组成 多个网络还可以通过路由器互联起来&#xff0c;这样就构成了一个覆盖范围更大的网络&#xff0c;互联网 因此&#xff0c;互联网是网络的网络&#xff08;Network of Networks&#xff0…

hadoop+ranger+kerberos页面权限配置(四)

一、原理介绍 hdfs 指令测试&#xff1a;hdfs dfs -mkdir /ranger 原理&#xff1a;根据路径进行文件夹操作赋权。一旦指定文件夹权限&#xff0c;则该用户可以操作该文件夹及该文件夹底下的子文件夹。 yarn 指令测试&#xff1a;hadoop jar /home/hadoop/module/hadoop-3.2.2…

跨平台数据库管理器DbGate

本文软件由网友 zxc 推荐&#xff1b;隔了很久才开始写&#xff0c;又隔了很久才想起来发 &#x1f602; 什么是 DbGate &#xff1f; DbGate 是跨平台的数据库管理器。支持 MySQL、PostgreSQL、SQL Server、MongoDB、SQLite 等的数据库管理器。能够在 Windows、Linux、Mac 下运…

Z函数(扩展KMP)

1,定义 z函数存储字符串s(长度n&#xff0c;下标从0开始&#xff09;与其所有后缀s[i,n-1](0<i<n-1)的最大公共前缀LCP的值&#xff08;一般默认z[0]0,有时是n) 2,思路 叫他扩展KMP是有原因的&#xff0c;因为思想相近&#xff0c;我们求取z[i]&#xff0c;尝试利用前…

20230102单独编译原厂RK3588开发板的开发板rk3588-evb1-lp4-v10的Android12的内核

20230102单独编译原厂RK3588开发板的开发板rk3588-evb1-lp4-v10的Android12的内核 2023/1/2 20:52 《RK3588_Android12_SDK_Developer_Guide_CN.pdf》 原厂的开发板rk3588-evb1-lp4-v10单独编译内核的方式&#xff1a; cd kernel-5.10 export PATH../prebuilts/clang/host/linu…

redis的常见命令

Redis 所有的 key&#xff08;键&#xff09;都是字符串。在谈基础数据结构时&#xff0c;我们讨论的是存储值的数据类型&#xff0c;主要包括常见的 5 种数据类型&#xff0c;分别是&#xff1a;String、List、Set、Zset、Hash 数据结构介绍 Redis 是一个 key-value 的数据库…

Java基础漏洞(一)

最近在复习一些Java基础&#xff0c;填补自己的知识漏洞。 1.转义字符 (1)\t代表的是制表符&#xff0c;\n代表的是空格&#xff0c;\r则代表的是回车 public class Main{public static void main(String[] args) {System.out.println("年龄\t性别\t身高\n18\t男\t183&…

《小猫猫大课堂》4——数组,操作符,常见关键字

更新不易&#xff0c;麻烦多多点赞&#xff0c;欢迎你的提问&#xff0c;感谢你的转发&#xff0c; 最后的最后&#xff0c;关注我&#xff0c;关注我&#xff0c;关注我&#xff0c;你会看到更多有趣的博客哦&#xff01;&#xff01;&#xff01; 喵喵喵&#xff0c;你对我…

十三、网络编程、UDP、TCP协议

JMM(了解) JMM就是Java内存模型(java memory model)。因为在不同的硬件生产商和不同的操作系统下&#xff0c;内存的访问有一定的差异&#xff0c;所以会造成相同的代码运行在不同的系统上会出现各种问题。所以java内存模型(JMM)屏蔽掉各种硬件和操作系统的内存访问差异&#…

python 办公自动后,第一天:创建excel写入数据

1&#xff0c;python第三方模块&#xff1a;xlwt写入excel文件 #pycharm 中安装pip install xlwt #xlwr 用户写入文件模块 #pip install xlwt # pip list 查看安装的模块 # pip install import xlwt#创建excelwb xlwt.Workbook()# 选择工作簿sh wb.add_sheet(第一个sheet页…

LVGL学习笔记11 - 按钮矩阵Button Matrix

目录 1. 构造矩阵 2. Parts 2.1 LV_PART_MAIN 2.2 LV_PART_ITEMS 3. 样式 3.1 按钮大小 3.2 间距 3.3 控制按钮 3.4 控制map 3.5 Check唯一性 4. 事件 4.1 LV_EVENT_VALUE_CHANGED 4.2 LV_EVENT_LONG_PRESSED 4.3 LV_EVENT_DRAW_PART_BEGIN 按钮矩阵是多个按钮的组…

臻图信息搭建土壤墒情监测应用平台,推进现代农业信息化发展

“十四五”期间&#xff0c;国家高度重视土壤生态环境监测等问题&#xff0c;先后出台了一系列规范性文件&#xff0c;为我国土壤防治领域建立了一套标准、导则、指南和管理等解决对策&#xff0c;使我国土壤修复法律法规和标准化建设呈现出系列化和系统化趋势&#xff0c;有效…

计算机视觉实战-----pytorch官方demo(Lenet网络)实现

系列文章目录 文章目录系列文章目录前言零、环境搭建一、下载CIFAR10数据集二、测试图片三、模型搭建四、开始train五、测试六、tensorboard可视化总结前言 通过一个官方列子&#xff0c;清楚深度学习中图像的训练的整个流程 零、环境搭建 pycharm下载&#xff1a;pycharm官网…

【C语言】算法好题初阶(每日小细节010)

1.存在重复元素 力扣传送门、 这道题目的解题思路就是先排序然后比较相邻元素是不是有相等的&#xff0c;有就是true否者false 排序的算法比较多大&#xff0c;但是我用插入和快排plus版都没有过... 但是非递归的归并过了&#xff0c;对排序算法感兴趣的小伙伴可以去看我的博…