学生管理系统-06Echarts

news2024/12/23 7:27:29

一、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:{
                data:['初中','高中','大专','本科','硕士','博士']
            },
            yAxis:{},
            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:['浏览量','访问量']
         },
         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地理小工具系列

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

<script>
import * as echarts from "echarts";
import { mapData } from "../assets/data/map.js";
export default {
  mounted() {
    echarts.registerMap("chinaMap", mapData);
    let options = {
      geo: {
        type: "map",
        map: "chinaMap",
        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/788321.html

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

相关文章

[面试官,你坐好],今天我给你吹下卡顿监控

这是一篇面试总结稿&#xff0c;根据之前的面试过程以一种模拟面试的风格进行阐述。 面试官: 自我介绍下 诶&#xff1f;这面试官头发还比较多&#xff0c;应该不牛逼&#xff0c;心里踏实了不少。我: 面试官你好&#xff0c;我叫**&#xff0c;5年工作经验。曾经跟OPPO产品PK&…

Alchemy Catalyst 2023 Crack

Alchemy Catalyst 2023 Crack Alchemy CATALYST是一个可视化的本地化环境&#xff0c;支持本地化工作流程的各个方面。它帮助组织加快本地化进程&#xff0c;比竞争对手更快地进入新市场&#xff0c;并为他们创造新的收入机会。 创建全球影响力 高质量的产品和服务翻译对跨国组…

人才缺口将达 6.7 万人?半导体行业“后继无人”,美国危?

根据美国半导体行业协会&#xff08;SIA&#xff09;和牛津经济研究所&#xff08;Oxford Economics&#xff09;联合编制的一项研究报告指出&#xff0c;到2030年&#xff0c;美国半导体行业预计面临约6.7万名人才缺口。 根据预测&#xff0c;到2029年底&#xff0c;美国芯片行…

1.Flink概述

1.1 技术架构 应用框架层: 在API层之上构建的满足特定应用场景的计算框架&#xff0c;总体上分为流计算和批处理两类应用框架。API 层&#xff1a; Flink对外提供能力的接口 &#xff0c;实现了面向流计算的DataStream API和面向批处理的DataSet API。运行时层&#xff1a;Flin…

基于Java+SpringBoot+vue前后端分离小徐影城管理系统设计实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

标准IO函数练习

一、实现登录功能。 自定义一个usr.txt&#xff0c;手动输入账户密码&#xff0c;格式如下&#xff1a;账户 密码 例如&#xff1a; zhangsan 12345 lisi abcde wangwu abc123 需求如下&#xff1a; 从终端获取账户密码&#xff0c;与文件中的账户密码比较若终端输入的账户…

好看的思维导图模板有哪些?分享这几款

好看的思维导图模板有哪些&#xff1f;思维导图是一种非常实用的工具&#xff0c;可以帮助我们更好地组织和理解信息。然而&#xff0c;如果你想让你的思维导图看起来更好看&#xff0c;吸引人眼球&#xff0c;那么选择一个好的思维导图模板是非常重要的。 在众多的思维导图制作…

【STM32】 强大的 STM32Cube 生态 STM32CubeIDE 无伤速通

本文介绍的软件&#xff0c;均可以在ST官网st.com免费下载&#xff08;你需要注册登录&#xff09;&#xff0c;首选官网下载最新版本&#xff0c;如果有问题&#xff0c;可以在我的公众号回复&#xff1a;Cube&#xff0c;获取截止今日的最新版本软件安装包。 目录 一、STM32C…

传统域名与区块链域名的区别是什么?

区块链技术的发展&#xff0c;不仅带来了数字货币的兴起&#xff0c;还催生了一种新型的互联网域名——Web3 域名。Web3 域名作为一种新兴的域名体系&#xff0c;与传统的域名有着很大的区别。今天&#xff0c;我们就来探讨一下传统域名与区块链域名的区别。 首先&#xff0c;让…

查看docker容器启动参数

查看docker启动参数 1、查看docker容器的自启动策略2、查看docker容器的日志滚动清理策略 以下配置命令以redis容器为例 1、查看docker容器的自启动策略 docker inspect --format{{json .HostConfig.RestartPolicy}} redis输出的name是always 表示此容器是开机自启动的&#x…

蓝桥杯上岸必背!!!(第六期树与图的遍历)

第六期&#xff1a;树与图的遍历 &#x1f525; &#x1f525; &#x1f525; 蓝桥杯热门考点模板总结来啦✨ ~ 你绝绝绝绝绝绝对不能错过的常考树与图的遍历模板 &#x1f4a5; ❗️ ❗️ ❗️ 大家好 我是寸铁 &#x1f4aa; 祝大家4月8号蓝桥杯上岸 ☀️ 还没背熟模板…

2.1数据结构——线性表

一、定义 线性表是具有相同数据类型的n&#xff08;n>0&#xff09;个数据元素的有限序列&#xff0c;&#xff08;n表示表长&#xff0c;n0为空表&#xff09; 用L表示&#xff1a; 位序&#xff1a;线性表中的“第i个” a1是表头元素&#xff1b;an是表尾元素 除第一个…

2023 年牛客多校第三场题解

A World Fragments I 题意&#xff1a;给定两个二进制数 x , y x,y x,y&#xff0c;每次可以选择 x x x 二进制表达中的其中一位 b b b&#xff0c;然后执行 x ← x − b x \leftarrow x-b x←x−b 或 x ← x b x \leftarrow xb x←xb。问 x x x 最少经过多少次操作变成…

高速数据采集专家-FMC140【产品手册】

FMC140是一款具有缓冲模拟输入的低功耗、12位、双通道&#xff08;5.2GSPS/通道&#xff09;、单通道10.4GSPS、射频采样ADC模块&#xff0c;该板卡为FMC标准&#xff0c;符合VITA57.1规范&#xff0c;该模块可以作为一个理想的IO单元耦合至FPGA前端&#xff0c;8通道的JESD204…

第一启富金:现货黄金市场等待央行决议 非美商品‘弱不禁风’

第一启富金基本面分析&#xff1a; 中国纸黄金交易通显示&#xff0c;全球最大黄金上市交易基金(ETF)截至07月22日持仓量为919.00吨&#xff0c;较上日增持5.20吨&#xff0c;本月止净减持2.90吨。 在俄罗斯上周退出黑海谷物协议&#xff0c;摧毁了乌克兰通往基辅的一条出口路线…

PKCS#1: RSA加密时摘要值规范

RSA的加密和签名标准是类似的&#xff0c;加密时的摘要值结构如下 即非普通的hash摘要值&#xff0c;而是der编码结构的hash摘要值&#xff0c;用ASN1工具打开 可以快速的组装成一个der编码结构的摘要值&#xff0c;代码如下 ByteArrayOutputStream digestInfoValueBuf new By…

《向量数据库指南》:向量数据库Pinecone如何集成OpenAI

目录 嵌入式介绍 环境设置 创建嵌入 初始化Pinecone索引 填充索引 ⚠️警告 查询 本指南介绍了将OpenAI的大型语言模型(LLMs)与Pinecone(称为 OP stack )集成的方法,增强LLMs的语义搜索或“长期记忆”。此组合利用LLMs的嵌入和完成(或生成)端点,以及Pinecone的向…

MySQL 数据库约束

目录 一、数据库约束 1、约束类型 二、NULL 约束 三、unique 约束 四、default 约束 五、primary key 约束 自增主键 六、foreign key 外键约束 七、check 约束 一、数据库约束 我们使用数据库来存储数据&#xff0c;一般是希望这里存储的数据是靠谱的&#xff0c;…

追觅科技,拿什么撑起「百亿」野心?

作者 | 刘然 来源 | 洞见新研社 极度内卷的扫地机人赛道迎来了分叉路口。 从头部企业的最新动向&#xff0c;我们可以一览行业变化。 科沃斯选择多元化发展&#xff0c;大力拓展家电品类&#xff0c;推出了智能料理机、空气净化仪等产品&#xff1b;石头科技坚守爆品战略的同…

超详细,自动化测试allure测试报告实战(总结)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 allure可以输出非…