VUE笔记(十)Echarts

news2024/9/21 19:06:06

一、Echarts简介

1、什么是echarts

ECharts是一款基个基于 JavaScript 的开源可视化图表库

官网地址:Apache ECharts

国内镜像:ISQQW.COM x ECharts 文档(国内同步镜像) - 配置项

示例:echarts图表集

2、第一个Echarts

  • 安装echarts依赖包

npm i echarts
  • 引入Echarts

<template>
   <div>
        <div id="chart" class="box" ref="main"></div>
   </div>
</template>
​
<script>
import * as echarts from 'echarts'
export default {
    mounted(){
        let options={
            title:{
                text:'在读学生学历统计'
            },
            xAxis:{//X轴的设置
                data:['初中','高中','大专','本科','硕士','博士']
            },
            yAxis:{},//Y轴的设置
            series:[//数据的设置
                {
                    name:'销量',
                    type:'bar',//设置为柱状图
                    data:[10,10,35,30,10,5]
                }
            ]
        }
        let mychart=echarts.init(this.$refs.main)
        mychart.setOption(options)
    }
}
</script>
​
<style>
    .box{
        width: 600px;
        height: 400px;
        background-color: #ffc;
    }
</style>

二、柱状图

1、常见效果设置

  • 最大值、最小值、平均值标记设置

series: [
     {
        name: seriesName,
        type: 'bar',
        data: [10,10,35,30,10,5],
        markPoint:{
            data:[
                {
                  type:'max',name:'最大值'
                },
                {
                  type:'min',name:'最小值'
                }
             ]
         },
         markLine:{
             data:[
                {
                  type:'average',name:'平均值'
                }
             ]
         }
      }
 ]
  • 图形上文字标签的设置

 series: [
     {
        name: seriesName,
        type: 'bar',
        data: [10,10,35,30,10,5],
        label:{
            show:true,
            color:'#ff0000',
            backgroundColor:'springgreen',
            width:20,
            height:20
         }
      }
 ]
  • 图形样式的设置

 series: [
     {
        name: seriesName,
        type: 'bar',
        data: [10,10,35,30,10,5],
        itemStyle:{
            color:'#0cc',
            shadowBlur:15,
            opacity:.8,
            shadowOffsetX:15
         }
      }
 ]
  • 设置图形的宽度

 series: [
     {
        name: seriesName,
        type: 'bar',
        data: [10,10,35,30,10,5],
        barWidth:15
      }
 ]
  • 更改x轴和y轴的角色

const options={
    xAxis: {},
    yAxis: { data:[10,10,35,30,10,5] },
}

2、title相关设置

属性类型含义
textstring主标题文本
linkstring主标题超链接
textStyleobjectcolor:主标题文字的颜色。 fontStyle:主标题的风格 fontWeight:主标题字体的粗细
backgroundColorColor背景色
borderColorColor边框颜色
borderRadiusnumber|Array圆角半径
let options={
     title:{
         text:'在读学生学历统计',
         link:'http://www.zhaijizhe.cn/studentSys',
         textStyle:{
             color:'#2ff',
             fontStyle:'italic',
             fontWeight:'bold'
         },
         backgroundColor:'#ccc',
         borderWidth:1,
         borderColor:'#bbb',
         borderRadius:5,
         padding:10    
      }
}

3、tooltip的相关配置

tooltip:提示框组件,用于配置鼠标滑过或点击图标时的显示框

  • 触发类型:trigger

  • 触发时机:triggerOn

  • 格式化:formatter

const options={
    tooltip:{
        show:true,
        triggerOn:'click',
        formatter:`{b}的人数是{c}人`
     }  
}

4、toolbox的相关配置

toolbox:ECharts提供的工具栏:内置有导出图片,数据视图,动态类型切换,数据区域缩放,重置五个工具

const options={
   toolbox:{
      show:true,
      feature:{
          saveAsImage:{//导出图片
             show:true
          },
          restore:{//重置,配置项还原
             show:true
          },
          dataView:{//数据视图
             show:true
          },
          magicType: {//动态类型切换
             type: ['line', 'bar']
          },
          dataZoom:{//数据区域缩放
          	show:true
          }
    }
}

5、legend的相关配置

legend:图例,用于筛选系列,需要和series配置使用

  • legend中的data是一个数组

  • legend中的data的值需要和series数组中某组数据的name值一致。

let options = {
      tooltip: {
        show: true,
        triggerOn: "click",
        formatter: `{b}的人数是{c}人`,
      },
      toolbox: {
        show: true,
        feature: {
          saveAsImage: {
            show: true,
          },
          restore: {
            show: true,
          },
          dataView: {
            show: true,
          },
          magicType: {
            type: ["line", "bar"],
          },
          dataZoom: {
            show: true,
          },
        },
      },
      xAxis: {
        data: ["可口可乐", "百事可乐", "芬达", "红牛", "加多宝", "哇哈哈"],
      },
      yAxis: {},
      legend:{
        show:true,
        data:["1月份销量","2月份销量","3月份销量"]
      },
      series: [
        {
          name: "1月份销量",
          type: "bar",
          data: [10, 10, 35, 30, 10, 5],
          itemStyle: {
            color: "#0cc",
            shadowBlur: 15,
            opacity: 0.8,
            shadowOffsetX: 15,
          },
          barWidth: 15,
        },
        {
          name: "2月份销量",
          type: "bar",
          data: [20, 5, 65, 20, 15, 25],
          itemStyle: {
            color: "#cfc",
            shadowBlur: 15,
            opacity: 0.8,
            shadowOffsetX: 15,
          },
          barWidth: 15,
        },
        {
          name: "3月份销量",
          type: "bar",
          data: [25, 15, 95, 20, 25, 35],
          itemStyle: {
            color: "#0a8",
            shadowBlur: 15,
            opacity: 0.8,
            shadowOffsetX: 15,
          },
          barWidth: 15,
        },
      ],
    };

三、折线图

1、基本配置

import * as echarts from 'echarts'
export default {
    mounted(){
       let options={
         title:{
            text:'最近1小时访问情况'
         },
         xAxis:{
            data:['16:00','16:05','16:10','16:15','16:20','16:25','16:30','16:35','16:40','16:45','16:50','16:55']
         },
         yAxis:{},
         series:[
            {
                name:'访问量',
                type:'line',
                data:[40,39,30,40,50,40,30,20,80,20,15,32]
            }
         ]
       }
       let chart=echarts.init(this.$refs.box)
       chart.setOption(options)
    }
}

2、常见效果设置

<template>
   <div ref="box" class="chart"></div>
</template>

<script>
import * as echarts from 'echarts'
export default {
    mounted(){
       let options={
         title:{
            text:'最近1小时访问情况'
         },
         xAxis:{
            data:['16:00','16:05','16:10','16:15','16:20','16:25','16:30','16:35','16:40','16:45','16:50','16:55']
         },
         yAxis:{},
         legend:{
            data:['浏览量','访问量']
         },
         tooltip:{
             show:true,
             trigger:'axis'
         },
         series:[
            {
                name:'浏览量',
                type:'line',
                data:[40,39,30,40,50,40,30,20,50,20,15,32],
                smooth:true,//开启平滑曲线
                areaStyle:{
                    color:'rgba(159,216,255,.9)' //填充区域颜色
                },
                lineStyle:{ //线条样式设置
                    color:'rgba(159,216,255)', 
                    width:2
                },
                symbol:'none' //去掉线条小圆点
            },
            {
                name:'访问量',
                type:'line',
                data:[20,19,10,20,25,20,15,10,22,10,9,16],
                smooth:true,
                areaStyle:{
                    color:'rgba(120,215,190,.9)'
                },
                symbol:'none'
                
            }
         ]
       }
       let chart=echarts.init(this.$refs.box)
       chart.setOption(options)
    }
}
</script>

<style>
    .chart{
        width: 1000px;
        height: 400px;
    }
</style>

四、饼状图

1、基本设置

<template>
    <div>
        <div ref="box" class="chart"></div>
    </div>
</template>

<script>
import * as echarts from 'echarts' 
export default {
    mounted(){
        let options={
            series:[
                {
                    type:'pie',
                    data:[
                        {name:'口碑',value:815},
                        {name:'知乎',value:515},
                        {name:'百度',value:115},
                        {name:'美团',value:45},
                        {name:'地图',value:15},
                    ]
                }
            ]
        }
        let chart=echarts.init(this.$refs.box)
        chart.setOption(options)
    }
}
</script>

2、常见效果设置

<script>
import * as echarts from "echarts";
export default {
  mounted() {
    let options = {
      series: [
        {
          type: "pie",
          data: [
            { name: "口碑", value: 815 },
            { name: "知乎", value: 515 },
            { name: "百度", value: 115 },
            { name: "美团", value: 45 },
            { name: "地图", value: 15 },
          ],
          label: {
            show: true,
            formatter: function (arg) {
              return (
                arg.name + "部分消费了" + arg.value + "元\n" + arg.percent + "%"
              );
            },
          },
          radius:['60%','80%'],//内外径占比
          roseType: "radius",//以扇形圆心角比例展现
          selectedMode: "single",//选中的模式
        },
      ],
    };
    let chart = echarts.init(this.$refs.box);
    chart.setOption(options);
  },
};
</script>

五、地图

1、基本设置

地图数据的下载地址:DataV.GeoAtlas地理小工具系列

打开网址,通过右下角JSON API下载数据

在src/assets/data/chinaMap.js中存储数据

export const mapData=数据

在组件中

<template>
  <div class="chart" ref="box" style="width:1000px;height:800px"></div>
</template>

<script>
import * as echarts from "echarts";
import { mapData } from "../assets/data/chinaMap.js";
export default {
  mounted() {
    //地图注册
    echarts.registerMap("chinaMap", mapData);
    let options = {
      geo: {//地理坐标系属性
        type: "map",
        map: "chinaMap",
        itemStyle:{
            areaColor:'#ddf',
            opacity:.7
        }
        zoom: 5,
        roam:true,
         label:{show:true,fontSize: 10},
      },
      visualMap: {//是视觉映射组件,用于进行视觉编码,也就是将数据映射到视觉元素(视觉通道)
        min: 100,
        max: 3000,
        text: ["高", "低"],
        realtime: false,
        calculable: true,
        inRange: {//颜色过渡
          color: ["lightskyblue", "yellow", "orangered"],
        },
      },
      series: [
        {
          name: "最小风险指数",
          type: "map",
          geoIndex: 0,
          data: [
            { name: "北京市", value: 15477.48 },
            { name: "天津市", value: 31686.1  },
            { name: "上海市", value: 21686.1  },
            { name: "重庆市", value: 61686.1  },
            { name: "河北省", value: 81686.1  },
            { name: "陕西省", value: 800  },
            { name: "河南省", value: 100  },
          ],
        },
      ],
    };
    let chart = echarts.init(this.$refs.box);
    chart.setOption(options);
  },
};
</script>

<style>
.chart {
  width: 800px;
  height: 800px;
}
</style>

2、显示南海诸岛

如果要让南海诸岛显示出来,可以在注册地图的时候,把registerMap()的第一个参数必须设置为china就可以显示了

 echarts.registerMap("china", mapData);

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

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

相关文章

腾讯音乐财务前景疲软,股价上涨势头难以持续

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 市场对腾讯音乐第二季度财报反应积极 猛兽财经之前在2023年6月12日发表的一篇文章中就曾分析过腾讯音乐&#xff08;TME&#xff09;股票&#xff0c;我们当时分析了腾讯音乐2023年第一季度的财务业绩。根据S P Capital IQ…

[halcon] 局部图片保存 gen_circle 和 gen_rectangle2 对比 这怕不是bug吧

背景 我想实现一个功能&#xff0c;获取图片中瑕疵的位置&#xff0c;将瑕疵周边的一块区域抠图并保存。 上代码 一开始我代码这么写的&#xff1a; gen_circle (Rectangle, Row[i], Column[i], 256) reduce_domain(Image,Rectangle,GrayEllipse) crop_domain(GrayEllipse,…

Mybatis中实现动态SQL

目录 1 背景2 if判断2 choose(when,otherwise)选择分支进入3 where4 set5 trim6 foreach循环遍历7 小结 1 背景 不建议使用&#xff0c;但是有些需求又不得不用回来温习下。动态SQL语句,也就意味着SQL语句不在是一成不变的而是具有多样性. 2 if判断 if的用法还是跟平常差不多…

[论文阅读笔记26]Tracking Everything Everywhere All at Once

论文地址: 论文 代码地址: 代码 这是一篇效果极好的像素级跟踪的文章, 发表在ICCV2023, 可以非常好的应对遮挡等情形, 其根本的方法在于将2D点投影到一个伪3D(quasi-3D)空间, 然后再映射回去, 就可以在其他帧中得到稳定跟踪. 这篇文章的方法不是很好理解, 代码也刚开源, 做一…

Git工作流

实际开发项目使用到的分支: main&#xff1a;生产环境&#xff0c;也就是你们在网上可以下载到的版本&#xff0c;是经过了很多轮测试得到的稳定版本。 release&#xff1a; 开发内部发版&#xff0c;也就是测试环境。 dev&#xff1a;所有的feature都要从dev上checkout。 fea…

【C51 GPIO的原理和内部结构】

51单片机项目基础篇 中篇&#xff1a;介绍GPIO1、认识GPIO2、GPIO 结构框图与工作原理2.1、P0端口结构框图与工作原理2.1.1、剖析组成 P0 口的每个单元的作用2.1.2、 P0 口做为 I/O 口及地址/数据总线使用时的具体工作过程 2.2、P1 端口结构框图与工作原理2.3、P2 端口结构框图…

求生之路2社区服务器sourcemod安装配置搭建教程centos

求生之路2社区服务器sourcemod安装配置搭建教程centos 大家好我是艾西&#xff0c;通过上文我们已经成功搭建了求生之路2的服务端。但是这个服务端是纯净的服务端&#xff0c;就是那种最纯粹的原版。如果想要实现插件、sm开头的命令等功能&#xff0c;需要安装这个sourcemod。…

JavaScript(笔记)

目录 Hello World JavaScript 的变量 JavaScript 动态类型 隐式类型转换 JavaScript 数组 JavaScript 函数 JavaScript 中变量的作用域 对象 DOM 选中页面元素 事件 获取 / 修改元素内容 获取 / 修改元素属性 获取 / 修改 表单元素属性 获取 / 修改样式属性 新…

如何可以管理监督员工工作微信?

自从微信管理系统研发上线之后&#xff0c;为了各企业带来了福音。 很多用户企业都是这样评论微信管理系统的&#xff1a;员工的所有微信聊天记录后台都可以清楚明了的看到&#xff0c;聊天记录都是永久保存的&#xff0c;不担心员工在手机上把聊天记录删除&#xff0c;杜绝员…

基于黑猩猩算法优化的BP神经网络(预测应用) - 附代码

基于黑猩猩算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码 文章目录 基于黑猩猩算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码1.数据介绍2.黑猩猩优化BP神经网络2.1 BP神经网络参数设置2.2 黑猩猩算法应用 4.测试结果&#xff1a;5.Matlab代…

MyBatis 的关联关系配置 一对多,一对一,多对多 关系的映射处理

目录 一.关联关系配置的好处 二. 导入数据库表&#xff1a; 三. 一对多关系&#xff1a;-- 一个订单对应多个订单项 四.一对一关系&#xff1a;---一个订单项对应一个订单 五.多对多关系&#xff08;两个一对多&#xff09; 一.关联关系配置的好处 MyBatis是一…

Java——它要求用户输入一个整数(实际上是一个字符串),然后计算该整数的平方值,并将结果输出。

这是一个Java程序&#xff0c;它要求用户输入一个整数&#xff08;实际上是一个字符串&#xff09;&#xff0c;然后计算该整数的平方值&#xff0c;并将结果输出。程序的基本流程如下&#xff1a; 首先&#xff0c;声明并初始化变量data和result&#xff0c;它们的初始值都为…

咸鱼之王俱乐部网站开发

我的俱乐部 最新兑换码 *注意区分大小写&#xff0c;中间不能有空格&#xff01; APP666 HAPPY666 QQ888 QQXY888 vip666 VIP666 XY888 app666 bdvip666 douyin666 douyin777 douyin888 happy666 huhushengwei888 taptap666 周活动 宝箱周 宝箱说明 1.木质宝箱开启1个…

Netty入门学习和技术实践

Netty入门学习和技术实践 Netty1.Netty简介2.IO模型3.Netty框架介绍4. Netty实战项目学习5. Netty实际应用场景6.扩展 Netty 1.Netty简介 Netty是由JBOSS提供的一个java开源框架&#xff0c;现为 Github上的独立项目。Netty提供异步的、事件驱动的网络应用程序框架和工具&…

nuxt.js框架使用swiper的5.4.5版本记录,创建广告位幻灯片

nuxt依赖 “nuxt”: “^2.15.8”, “swiper”: “^5.4.5”, “vue”: “^2.7.10”, “vue-awesome-swiper”: “^4.1.1”, 需要完成的效果是 参考地址&#xff1a;https://3.swiper.com.cn/demo/pcSlide/ nuxt代码&#xff1a; <template><div class"page&quo…

基于AI + Milvus Cloud拓展更多、更丰富的AI应用场景

项目后续:探索更多应用场景 欢迎大家基于本项目拓展更多、更丰富的应用场景,例如: 进一步延伸对比功能,例如将不同的单品归类到一起。同样,也可以上传更多图像到数据库中,丰富查询结果。 将本项目转变为时尚探测仪或者时尚推荐系统。例如,将明星图像替换成可购买的…

软件开发的201个原则 阅读笔记 第172-201个原则

目录 原则172 做项目总结 第8章 产品保证原则 原则173 产品保证并不是奢侈品 原则 174 尽早建立软件配置管理过程 原则175 使软件配置管理适应软件过程 原则176 组织SCM 独立于项目管理 原则 177 轮换人员到产品保证组织 给所有中间产品一个名称和版本 原则179 控制基准 原则…

五、多表查询-4.1子查询和分类

一、概念 SQL语句中嵌套select语句&#xff0c;成为嵌套查询&#xff0c;又称子查询。 子查询外部的语句 可以是 insert / update / delete / select 的任何一个。 二、子查询分类 1、根据子查询结果不同 标量子查询&#xff08;子查询结果为单个值&#xff09;、列子查询&a…

Xmind软件安装包分享(附安装教程)

目录 一、软件简介 二、软件下载 一、软件简介 XMind是一款非常流行的思维导图软件&#xff0c;可以帮助用户创建清晰、美观的思维导图&#xff0c;用于记录、整理思维和团队协作。以下是关于XMind软件的详细介绍。 1、XMind的历史和演变 XMind是由北京心图科技有限公司开发…

算法通过村第8关【青铜】| 二叉树的经典算法题

二叉树的双指针 1.相同的树 思路&#xff1a;递归的挨个比较是否相同 class Solution {public boolean isSameTree(TreeNode p, TreeNode q) {if((p null&&q!null) || (p ! null && q null) || (p!null&&q!null&&p.val ! q.val)){return f…