数据可视化高级技术Echarts(快速上手柱状图进阶操作)

目录

1.Echarts的配置

 2.程序的编码

3.柱状图的实现(入门实现)

相关属性介绍(进阶):

1.标记最大值/最小值

2.标记平均值

3.柱的宽度

4. 横向柱状图

5.colorBy

series系列(需要构造多组数据才能实现,下面有Sale和Sale1两组数据)

data系列(同一组数据每个柱状图不同的显示)

6.showBackground

7.label

8.title  标题属性及相关设置

9.tooltip  鼠标经过时,出现提示框

10.toolbox  工具按钮(下载、复原什么的操作按钮)

11.legend  图例


1.Echarts的配置

        在  src  下新建目录JS,将echarts.js放入其中(这个是Eclipse的截图,其他开发IDE只需要引入echarts.js即可)

注意:Eclipse需要创建Dynamic Web Project才能运行

 2.程序的编码

        回顾五个基本步骤(通过简单的5个步骤, 就能够把一个简单的图表显示在网页中了。这几个步骤中, 步骤4最重要,一个图表最终呈现什么样,完全取决于这个配置项。所以对于不同的图表, 除了配置项会发生改变之外,其他的代码都是固定不变的。

1.导入ECharts插件

<script type="text/javascript">

2.为ECharts准备一个DOM容器

<div id="main" style="width: 600px;height: 400px;"></div>

3.基于准备好的DOM,初始化echarts实例

var myChart=echarts.init(document.getElementById('main'));

4. 指定图表的配置项和数据(对ECharts进行一些配置)

var option={ }

5.将配置和参数传递给ECharts,显示图表

myChart.setOption(option);

3.柱状图的实现(入门实现)

<!DOCTYPE html>  
<html>  
<head>  
<meta charset="UTF-8">  
<title>Insert title here</title>  
<script src="JS/echarts.js"></script>  
</head>  
<body>  
<div id='main' style="width:600px;height:400px"></div>  
<script>  
var chartDom = document.getElementById('main');  
var myChart = echarts.init(chartDom);  
var option;  

option = {
		/* 设置x轴数据 */
		xAxis:{
			data:["冰箱","电视","洗衣机","手机","微波炉"]
		},
		/* 设置x轴数据 */
		yAxis:{
			
		},
		/* 填写series序列的类型 */
		series:{
			type:'bar', /* 设置图标类型 */
			data:[200,128,150,340,178] /* 插入数据 */
		},
		/* 设置提示框 */
		tooltip:{
			
		},
		/* 添加标题 */
		title:{
			text:'电器销售图' /* 设置文本内容 */
		}
}; 

myChart.setOption(option);   
</script>  
</body>  
</html>

相关属性介绍(进阶):

1.标记最大值/最小值

2.标记平均值

3.柱的宽度

4. 横向柱状图

5.colorBy

从调色盘 option.color 中取色的策略,可取值为:

  • 'series':按照系列分配调色盘中的颜色,同一系列中的所有数据都是用相同的颜色;
  • 'data':按照数据项分配调色盘中的颜色,每个数据项都使用不同的颜色。
series系列(需要构造多组数据才能实现,下面有Sale和Sale1两组数据)
option = {
  tooltip: {},
  legend: {},
  xAxis: {
    data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
  },
  yAxis: {},
  series: [{
    name: "Sale",
    type: "bar",
    data: [5, 20, 36, 10, 10, 20, 4],
    colorBy: "series"
  },
  {
    name: "Sale1",
    type: "bar",
    data: [3, 25, 76, 18, 14, 4, 10],
    colorBy: "series"
  }
  ]
}

data系列(同一组数据每个柱状图不同的显示)
option = {
  tooltip: {},
  legend: {},
  xAxis: {
    data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
  },
  yAxis: {},
  series: [{
    name: "Sale",
    type: "bar",
    data: [5, 20, 36, 10, 10, 20, 4],
    colorBy: "data"
  }
  ]
}

6.showBackground
  • 是否显示柱条的背景色。通过 backgroundStyle 配置背景样式。
  • 每一个柱条的背景样式。需要将 showBackground 设置为 true 时才有效。

注意:两个参数需要同时使用才能生效

option = {
  xAxis: {
    type: 'category',
    data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
  },
  yAxis: {
    type: 'value'
  },
  series: [
    {
      data: [120, 200, 150, 80, 70, 110, 130],
      type: 'bar',
      showBackground: true,
      backgroundStyle: {
        color: 'rgba(180, 180, 180, 0.2)'
      }
    }
  ]
};

7.label

图形上的文本标签,可用于说明图形的一些数据信息,比如值,名称等。

  • show:是否显示标签
  • distance:距离图形元素的距离
  • rotate:旋转标签。从-90°到90°。正值是逆时针。
  • offset:文字偏移量。默认不偏移。例如:[30, 40] 表示文字在横向上偏移 30,纵向上偏移 40
option = {
  tooltip: {},
  legend: {},
  xAxis: {
    data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
  },
  yAxis: {},
  series: [{
    name: "Sale",
    type: "bar",
    data: [5, 20, 36, 10, 10, 20, 4],
    colorBy: "series",
    legendHoverLink: true,
    label: {
      show: true,
      distance: 5,
      rotate: 50,
      offset: [5, 8]
    }
  }]
}

8.title  标题属性及相关设置
  • text:设置文章(主)标题
  • subtext:设置文章(副)标题
  • left:设置标题的 --水平-- 位置(可以为 'left','center','right',或者指定为数值)
  • top:设置标题 --垂直-- 位置(可以为 'up','center','down',或者指定为数值)
  • textStyle:设置(主)标题的颜色
  • borderWidth:设置标题边框宽度(厚度)
  • borderColor:设置标题边框颜色
  • boderRadius:设置标题边框圆角
option = {
  tooltip: {},
  legend: {},
  xAxis: {
    data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
  },
  yAxis: {},
  series: [{
    name: "Sale",
    type: "bar",
    data: [5, 20, 36, 10, 10, 20, 4]
  }],
  title:{
    text:'柱状图的标题',
    subtext:'这个是副标题(注意观察位置)',
    textStyle:{
      color:'green' 
    },
    borderWidth:2,
    borderColor:'blue',
    borderRadius:5,
    // left:'right',
    left:180,
    top:10
  }
}

9.tooltip  鼠标经过时,出现提示框
  • trigger:设置触发类型(分为 item 和 axis )
  • triggerOn:设置触发时机(分为 mousemove 和 click )
  • formatter:设置格式化显示,即显示的标签格式(字符串模板,eg:{b}:{c} )
  • axisPointer:设置触发显示为阴影(trigger为  axis 时生效) -->  下面图二
{
  tooltip: {
    trigger:'axis',
    triggerOn:'mousemove',
    // triggerOn:'click',
    formatter:'{b}:{c}',
    axisPointer:{
      type:'shadow'
    }
  },
  legend: {},
  xAxis: {
    data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
  },
  yAxis: {},
  series: [{
    name: "Sale",
    type: "bar",
    data: [5, 20, 36, 10, 10, 20, 4]
  }],
}

此时设置鼠标经过显示(mousemove)且axisPointer未生效(注释掉)

此时设置鼠标点击(click)且axisPointer生效

不想设置的话,建议加一个空白的tooltip,会自动给你有一些默认显示

 

10.toolbox  工具按钮(下载、复原什么的操作按钮)

只有五个工具:

  • 保存图片:savaAsImage
  • 数据视图:dataView(显示原始数据)
  • 重置还原:restore
  • 数据区域缩放:dataZoom
  • 动态类型切换:magicType(需要设置类型)
option = {
  tooltip: {
  },
  legend: {},
  xAxis: {
    data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
  },
  yAxis: {},
  series: [{
    name: "Sale",
    type: "bar",
    data: [5, 20, 36, 10, 10, 20, 4]
  }],
  toolbox:{
    feature:{
      saveAsImage:{
        
      },
      dataView:{
        
      },
      restore:{
        
      },
      dataZoom:{
        
      },
      magicType:{
        type:['bar','line']
      }
    }
  }
}

11.legend  图例

        图例需要和数据组对应,才能正确显示(设置name)

  • left:设置到左边的距离(可以是数值,或者百分比)
  • top:设置到上边的距离(可以是数值,或者百分比)
  • orient:设置图例的排列方向  horizontal(水平,默认) ,vertical(垂直)
option = {
  tooltip: {
  },
  legend: {
    left:200,
    top:50,
    orient:'vertical'
  },
  xAxis: {
    data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
  },
  yAxis: {},
  series: [{
    name: "Sale",
    type: "bar",
    data: [5, 20, 36, 10, 10, 20, 4]
  },
  {
    name: "Sale1",
    type: "bar",
    data: [5, 20, 36, 10, 10, 20, 4]
  }
  ]
}

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024.4.1-day06-认识 CSS(三大特性、引入方式)

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; day06-认识 CSS(三大特性、引入方式) 文章目录 day06-认识 CSS(三大特性、引入方式)作业…

【工具使用】使用Audition对比两个音源的频率特性变化

一&#xff0c;简介 本文主要介绍如何通过Audition比较算法输入和输出的频率特性&#xff0c;供参考。 二&#xff0c;操作步骤 这里以96K粉噪输入输出的音源来举例说明&#xff1a; 按照格式打开对应的音源&#xff0c;并使用快捷键“Alt Z”打开频率分析窗口&#xff1a…

vscode-插件开发-hello world-创建初始模板

目录 前言1.环境配置全局安装 yo, generator-code 2. 新建一个插件项目模板问题1: F5 按键无法启动launch.json调试(解决)问题1 描述:问题1: 找错误问题1: 可行的解决方案 3. 开发插件(添加自定义功能) 参考vscode官方示例&#xff1a;如何创建你的第一个插件开发项目模板的步骤…

第12届蓝桥杯省赛 ---- C/C++ C组

文章目录 1. ASC2. 空间3. 卡片4. 相乘5. 路径6.时间显示7.最少砝码8. 杨辉三角形9. 左孩子右兄弟 第12届蓝桥杯省赛&#xff0c;C/C C组真题&#xff0c;第10题不是很清楚&#xff0c;题解不敢乱放&#x1f601;&#x1f601;&#x1f601; 1. ASC 额。。。。 #include <i…

软文推广常用方式,媒介盒子揭秘

软文推广的核心在于“软”&#xff0c;即让品牌推广内容区别于传统硬广的形式出现&#xff0c;让读者在不知不觉中接受信息&#xff0c;从而潜移默化地改变消费者的消费观念&#xff0c;并引导其消费行为。由于这种推广方式更注重内容的质量和传播效果&#xff0c;因此往往能够…

Linux——静态库 共享库

1.库文件 1).库文件 库是一组预先编译好的方法的集合; Linux系统存储库的位置一般在/lib 和 /usr/lib (64位系统/usr/lib64) 库的头文件放在/usr/include 2).库的分类 静态库:libxxx.a(命名规则) 共享库:libxxx.so(命名规则) 3).准备文件: //add.c int add(int x,int y) { re…

nginx部署前端教程

目录 一、前言二、部署三、注意四、参考 一、前言 一般来说现在的软件项目&#xff0c;都是分用户端以及管理端的&#xff0c;并且是前后端分离的&#xff0c;这里我来记录一下部署两个前端的教程。 部署前端之前需要的准备工作是部署springBoot后端程序&#xff0c;这里我do…

数据结构基础:双链表结构、实现

继续和颦颦学C语言呀.......> 双链表的结构 这里的head 为头节点&#xff0c;是‘哨兵位’&#xff0c;实际不存储任何有效的数据 它的存在是为了遍历环链表避免死循环 双链表的实现 typedef int LTDataType; typedef struct ListNode { struct ListNode* next; //指针保存…

2024/4/6 DS18B20温度传感器

DS18B20温度传感器简介 DS18B20是一种常见的数字温度传感器&#xff0c;其控制命令和数据都是以数字信号的方式输入输出&#xff0c;相比较于模拟温度传感器&#xff0c;具有功能强大、硬件简单、易扩展、抗干扰性强等特点 测温范围&#xff1a;-55C 到 125C 通信接口&#…

通讯录----顺序表版本

1.通讯录的实现逻辑 对于通讯录&#xff0c;我们做的无非就是初始化&#xff0c;销毁。添加联系人数据&#xff0c;修改联系人数据&#xff0c;删除联系人数据&#xff0c;查找联系人数据&#xff0c;展示联系人数据&#xff1b; 这个不就和我们的顺序表的逻辑如出一辙吗&…

docker安装nacos,单例模式(standalone),使用mysql数据库

文章目录 前言安装创建文件夹"假装"安装一下nacos拷贝文件夹删除“假装”安装的nacos容器生成nacos所需的mysql表获取mysql-schema.sql文件创建一个mysql的schema 重新生成新的nacos容器 制作docker-compose.yaml文件查看网站 前言 此处有本人写得简易版本安装&…

SQLite 查询优化器概述(九)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLite中的隔离(八&#xff09; 下一篇&#xff1a;SQLite下一代查询规划器(十&#xff09; 1. 引言 本文档概述了查询规划器和优化器如何 用于 SQLite 工作。 给定一个 SQL 语句&#xff0c;可能有几十个、几百…

C++——位图和布隆过滤器

在C中&#xff0c;哈希这种思想的应用场景有很多&#xff0c;位图就是其中的一种。 位图 位图&#xff1a;位图是一种哈希思想的产物&#xff0c;可以通过它来对数据进行快速的查找的方法&#xff0c;在位图中&#xff0c;有2种状态来表示在或者不在&#xff0c;即1/0。 位图…

2024 年广东省职业院校技能大赛(高职组)“云计算应用”赛项样题 4

#需要资源&#xff08;软件包及镜像&#xff09;或有问题的&#xff0c;可私聊博主&#xff01;&#xff01;&#xff01; #需要资源&#xff08;软件包及镜像&#xff09;或有问题的&#xff0c;可私聊博主&#xff01;&#xff01;&#xff01; #需要资源&#xff08;软件…

vue快速入门(八)绑定方法

注释很详细&#xff0c;直接上代码 上一篇 新增内容 v-if与button响应回顾事件方法写法 源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, …

115.不同的子序列

给你两个字符串 s 和 t &#xff0c;统计并返回在 s 的 子序列 中 t 出现的个数&#xff0c;结果需要对 109 7 取模。 示例 1&#xff1a; 输入&#xff1a;s "rabbbit", t "rabbit" 输出&#xff1a;3 解释&#xff1a; 如下所示, 有 3 种可以从 s 中…

Coding and Paper Letter(八十八)

系列重启之CPL。 1 Coding: 1.一个Python库用来分析城市路网的工具箱&#xff0c;城市形态分析工具。 Madina 2.SkyPilot&#xff1a;在任何云上运行 LLM、AI 和 Batch。 通过简单的界面即可实现最大程度的节省性能、最高的 GPU 可用性和托管执行。 skypilot 3.探索美国卫…

寻找排序数组中的最小值

题目描述 已知一个长度为 n 的数组&#xff0c;预先按照升序排列&#xff0c;经由 1 到 n 次 旋转 后&#xff0c;得到输入数组。例如&#xff0c;原数组 nums [0,1,2,4,5,6,7] 在变化后可能得到&#xff1a; 若旋转 4 次&#xff0c;则可以得到 [4,5,6,7,0,1,2]若旋转 7 次…

企业信息化建设之MCS/WCS的知识点精讲

0、背景: 近日,再做售前方案的时候,碰到WMS和WCS的对接的场景,有同事质疑MCS和WMS不会对接,其实大家在日常工作中碰到的都是一套系统, MCS和WCS都是指仓储控制系统,不过它们的应用场景和功能有所不同。 在制造业中,MCS系统主要负责全厂物料的搬送路径指派和管理…

whatsapp 语音通话基本实现(二)

Whatsapp VoiceCall 客户端通过websocket连接到服务器&#xff0c;客户端发起语音通话请求&#xff0c;并且完成必要的协商之后&#xff0c;就可以直接将语音数据发送给服务器&#xff0c;服务器接收到对方的语音数据之后也会通过websocket将语音数据转发给客户端。 websocke…