【图表】echart

news2025/1/17 1:38:33

文章目录

  • 概述
  • 基础概念
  • 属性
  • 使用
    • 简单入门使用
    • 柱状图的中间显示数据
  • 来源

概述

ECharts是一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。ECharts最初由百度团队开源,并于2018年初捐赠给Apache基金会,成为ASF孵化级项目。

ECharts 提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap、旭日图,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭。

可以流畅的运行在 PC 和移动设备上

基础概念

1、echarts 实例:

  • 一个网页中可以创建多个 echarts 实例。
  • 每个 echarts 实例中可以创建多个图表和坐标系等。
  • dom节点作为echarts的渲染容器,每一个echart独占一个dom节点。

2、系列(series)

系列:一组数值以及他们映射成的图.

一个系列包含的要素:一组数值、图表类型、以及其他的关于这些数据如何映射成图的参数等。

图表类型 (series.type)包括:

  • line(折线图)
  • bar(柱状图)
  • pie(饼图)
  • scatter(散点图)
  • graph(关系图)
  • tree(树图)等

数据(series.data):

导入的数值。

  • ECharts 4 以前,数据只能声明在各个“系列(series)”中
  • ECharts 4 开始支持了 dataset
    组件用于单独的数据集声明,从而数据可以单独管理,被多个组件复用,并且可以基于数据指定数据到视觉的映射。
  • 关于数据我们会在后面进行学习,这里不展开详细叙述。

通用的样式(series.itemStyle):

包括阴影、透明度、颜色、边框颜色、边框宽度等。

3、组件(component):
legend图例组件,用于点击对应的图例是否显示,例如:

  • xAxis(直角坐标系 X 轴)
  • yAxis(直角坐标系 Y 轴)
  • grid(直角坐标系底板)
  • angleAxis(极坐标系角度轴)
  • radiusAxis(极坐标系半径轴)
  • polar(极坐标系底板)
  • geo(地理坐标系)
  • dataZoom(数据区缩放组件)
  • visualMap(视觉映射组件)
  • tooltip(提示框组件)
  • toolbox(工具栏组件)
  • series(系列)
    等。

4、option 描述图表

option表述了:数据、数据如何映射成图形、交互行为。

例如:使用option 来描述其对图表的各种需求,包括:有什么数据、要画什么图表、图表长什么样子、含有什么组件、组件能操作什么事情等等。

option是个大的 JavaScript 对象,他的内部有大量的属性,每个属性是一类组件。而多个同类组件,可以组成数组。

5:组件的定位

不同的组件、系列,常有不同的定位方式:

1)类 CSS 的绝对定位:

多数组件和系列,都能够基于 top/right/down/left/width/height绝对定位。这种绝对定位的方式,类似于 CSS 的绝对定位。

其中,他们每个值都可以是:

绝对数值(例如 bottom: 54 表示:距离 echarts 容器底边界 54 像素)。
基于 echarts 容器高宽的百分比(例如 right: ‘20%’ 表示:距离 echarts 容器右边界的距离是 echarts 容器宽度的 20%)。
2)中心半径定位:

少数圆形的组件或系列,可以使用“中心半径定位”,例如,pie(饼图)、sunburst(旭日图)、polar(极坐标系)。

中心半径定位,往往依据 center(中心)、radius(半径)来决定位置。

3)其他定位:

少数组件和系列可能有自己的特殊的定位方式。在他们的文档中会有说明。

6、坐标系

  • 很多系列需要运行在 “坐标系” 上。

例如 line(折线图)、bar(柱状图)等,需要在 “坐标系” 上才能运行。

  • 一个坐标系,可能由多个组件协作而成。

我们以最常见的直角坐标系来举例。直角坐标系中,包括有 xAxis(直角坐标系 X 轴)、yAxis(直角坐标系 Y 轴)、grid(直角坐标系底板)三种组件。xAxis、yAxis 被 grid 自动引用并组织起来,共同工作。

  • 一个系列,往往能运行在不同的坐标系中。

例如,一个scatter(散点图)能运行在直角坐标系、极坐标系、地理坐标系(GEO)等各种坐标系中。同样,一个坐标系,也能承载不同的系列。

属性

1、title:写标题,属性如下

show:false/true 标题是否显示;

text:标题内容;textstyle修饰标题样式

subtext:副标题,也可以算是内容;subtextStyle修饰副标题样式;

2、legentd:图例组件展现了不同系列的标记(symbol),颜色和名字;

show:false/true 是否显示;

data:图例的数据数组;

3、grid:直角坐标系内绘图网格,单个 grid 内最多可以放置上下两个 X 轴,左右两个 Y 轴。可以在网格上绘制折线图,柱状图,散点图;

show:false/true 是否显示;

top、left、right、bottom标识上左右下的边距;

4、xAxis :直角坐标系 grid 中的 x 轴,单个 grid 组件最多只能放上下两个 x 轴。

type:坐标轴类型。
'value’数值轴,适用于连续数据。
'category’类目轴,适用于离散的类目数据,为该类型时必须通过data设置类目数据。
'time’时间轴,适用于连续的时序数据,与数值轴相比时间轴带有时间的格式化,在刻度计算上也有所不同,例如会根据跨度的范围来决定使用月,星期,日还是小时范围的刻度。
data:类目数据,在类目轴(type: ‘category’)中有效。

5、yAxis:直角坐标系 grid 中的 y 轴,单个 grid 组件最多只能放左右两个 y 轴。

type:坐标轴类型。
'value’数值轴,适用于连续数据。
'category’类目轴,适用于离散的类目数据,为该类型时必须通过data设置类目数据。
'time’时间轴,适用于连续的时序数据,与数值轴相比时间轴带有时间的格式化,在刻度计算上也有所不同,例如会根据跨度的范围来决定使用月,星期,日还是小时范围的刻度。

6、dataZoom:组件 用于对数据进行区域缩放,从而能自由关注细节的数据信息,或者概览数据整体。

type:slider; 是否显示 组件。如果设置为false,不会显示,但是数据过滤的功能还存在;
backgroundColor:组件的背景颜色。
realtime:拖动时,是否实时更新系列的视图。如果设置为false,则只在拖拽结束的时候更新。
top、left、right、bottom标识上左右下的边距;

7、tooltip:提示框组件。

show:false/true 是否显示;
trigger:触发类型;
‘item’:数据项图形触发,主要在散点图,饼图等无类目轴的图表中使用。
‘axis’:坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用。
8、color:调色盘颜色列表。如果系列没有设置颜色,则会依次循环从该列表中取颜色作为系列颜色。

默认为:[‘#c23531’,‘#2f4554’, ‘#61a0a8’, ‘#d48265’, ‘#91c7ae’,‘#749f83’, ‘#ca8622’, ‘#bda29a’,‘#6e7074’, ‘#546570’, ‘#c4ccd3’];

9、seriers:系列列表。每个系列通过type 决定自己的图表类型;

series[i]-line:折线
itemStyle折线拐点标志的样式;
series[i]-bar:柱状图通过柱形的高度来表现数据的大小,用于有至少一个类目轴的直角坐标系上。
series[i]-pie:饼图主要用于表现不同类目的数据在总和中的占比。每个的弧度表示数据数量的比例。、

10、itemStyle 样式:

normal:color 颜色;

使用

简单入门使用

1、引用echarts.js文件

注意:需要引用时请到官网下载echarts.js文件。

<script type="text/javascript" src="js/echarts.js"></script>

2、准备一个放视图的div(自定义)

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

3、设置参数,初始化自定义的图标

<script type="text/javascript">

        //初始化echarts实例

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

        //var myChart = echarts.init($("#chartmain")[0]); jquery方式

        //指定图标的配置和数据

        var option = {

            title:{

                text:'ECharts 数据统计'

            },

            tooltip:{},

            legend:{

                data:['用户来源']

            },

            xAxis:{

                data:["Android","IOS","PC","Ohter"]

            },

            yAxis:{

            },

            series:[{

                name:'访问量',

                type:'line',

                data:[500,200,360,100]

            }]

        };

        //使用制定的配置项和数据显示图表

        myChart.setOption(option);

</script>

这样简单的一个统计图表就出来了,官网使用的柱状图,我这边改用了折线图。
在这里插入图片描述

柱状图的中间显示数据

改变position的值:

1、外部位置:top:在柱状图顶部,bottom:在柱状图底部,right:在柱状图的右边,left:在柱状图左边。

2、内部位置:inside:在柱状图中间,insideRight:在柱状图内部的右边,insideLeft:在柱状图内部的右边,insideTop:在柱状图内部的顶部,insideBottom:在柱状图内部的底部。

代码demo:

series : [

    {

        name:'机器数量',

        type:'bar',

        barWidth: '60%',

        data:[569, 30],

        itemStyle:{

            normal:{

                label:{

                    show:true, //表示是否显示

                    position: 'inside', //改变数字的位置

                    textStyle: { //改变字体的颜色和字体大小

                        color: '#ffff',

                        fontSize: 13

                    },

                    formatter: function(params){

                        if(params.value == 0){

                            return '';

                        }else {

                            return params.value;

                        }

                    }

                }

            }

        }

    }

]

拿一个实例展示一下 inside:在柱状图中间:
在这里插入图片描述

来源

ECharts – ECharts基础概念
EChart介绍和使用

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

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

相关文章

Power Strings

Power Strings 题面翻译 题意简述&#xff1a; 求一个字符串由多少个重复的子串连接而成。 例如 ababab 由三个 ab 连接而成&#xff0c;abcd 由 abcd 由一个 abcd 连接而成。 输入格式 本题多组数据。 每一组数据仅有一行&#xff0c;这一行仅有一个字符串 s s s。 输…

nmap常用扫描命令

1. nmap扫描一台机器 nmap 192.168.133.672. nmap扫描一台机器,查看打开端口及详细信息 nmap -v 192.168.133.673. nmap 指定端口/端口范围扫描 nmap -p 1-65535 192.168.133.67nmap -p 1-100,135,8080,443 192.168.133.67 <

chatgpt赋能python:Python电脑上图标是什么样子?

Python电脑上图标是什么样子&#xff1f; 在计算机系统中&#xff0c;图标是一种可视化的元素&#xff0c;用于代表具体的应用程序或文件。Python是一种开源的高级编程语言&#xff0c;越来越多的人开始使用它进行软件开发和数据科学。在电脑上&#xff0c;Python的图标是怎样…

简单Web UI 自动化测试框架 seldom

pyse 更名为 seldom WebUI automation testing framework based on Selenium and unittest. 基于 selenium 和 unittest 的 Web UI自动化测试框架。 特点 提供更加简单API编写自动化测试。提供脚手架&#xff0c;快速生成自动化测试项目。自动生成HTML测试报告生成。自带断言方…

3.跑马灯

1.GPIO的输出模式&#xff1a; 推挽模式输出&#xff1a;因为LED0和LED1阳极都是3.3V&#xff0c;需要将阴极设置为低电平才可以点亮LED&#xff1b;操作io口时&#xff0c;必须引入源文件和头文件&#xff1b;关于时钟的文件存放在rcc中&#xff1b; 2.GPIO库函数介绍&#…

【传感器】一种鲁棒的imu比例系数与偏移的校准算法

简介 最近在学习传感器相关的知识&#xff0c;在国外的一篇论文学习过程中&#xff0c;觉得这篇论文的校准方法是个不错的参考。 这种校准简单且比较鲁棒的算法&#xff0c;操作简单&#xff0c;且除了偏移与比例系数&#xff0c;还可以估计出传感器 xyz 轴相对于标准正交三轴…

《Python自动化测试九章经》

Python是当前非常流行的一门编程语言&#xff0c;它除了在人工智能、数据处理、Web开发、网络爬虫等领域得到广泛使用之外&#xff0c;他也非常适合软件测试人员使用&#xff0c;但是&#xff0c;对于刚入行的测试小白来说&#xff0c;并不知道学习Python语言可以用来完成哪些测…

chatgpt赋能python:Python用于炒股

Python用于炒股 随着互联网和数据科学的发展&#xff0c;越来越多的投资者开始依靠计算机和数据科学来进行更高效的投资。Python是一种广泛使用的编程语言&#xff0c;可以帮助投资者更好地处理数据和自动化交易。本文将简要介绍Python如何用于炒股&#xff0c;并分享一些有用…

canvas详解02-样式和颜色控制

在绘制图形的章节里&#xff0c;我只用到默认的线条和填充样式。而在这一章里&#xff0c;我们将会探讨 canvas 全部的可选项&#xff0c;来绘制出更加吸引人的内容。 #色彩 Colors 到目前为止&#xff0c;我们只看到过绘制内容的方法。如果我们想要给图形上色&#xff0c;有两…

捕捉信号/信号的处理步骤

一、信号会在合适的时候被处理 先摆出一个结论&#xff1a;信号会在合适的时候被处理。 当然&#xff0c;这里说的信号默认排除了实时信号&#xff0c;那个是已接收到信号就立马处理信号。 上面说的合适的时候其实就是进程从内核态切换到用户态的时候。 二、何为内核态和用户…

Golang -> Golang 变量

Golang 变量 Golang 变量使用的三种方式变量的声明&#xff0c;初始化和赋值程序中 号的使用数据类型的基本介绍int 的无符号的类型&#xff1a;int 的其它类型的说明:整型的使用细节 小数类型/浮点型小数类型分类浮点型使用细节 字符类型字符类型使用细节字符类型本质探讨 布…

java面向对象部分

在学校时学的比较乱&#xff0c;趁暑假再系统的学一遍 访问权限控制 private&#xff1a;私有&#xff0c;只能被本身类访问 什么都不写&#xff1a;默认&#xff0c;只能被类本身和同包中的其他类访问 protected&#xff1a;受保护的&#xff0c;只能被类本身和同包中的其…

计算物理专题:实对称矩阵特征值的求解问题

我们需要求出一个实对称阵的全部特征值与特征向量实对称矩阵特征值的求解是计算量子力学的基础之一&#xff08;算符是厄米的&#xff09;同时&#xff0c;实对称矩阵的求解也是使用有限差分法解本征方程的重要方法之一 雅克比方法 我知道这个推导过程非常的复杂&#xff0c;所…

计算物理专题:双向打靶法解决本征值问题

计算物理专题&#xff1a;双向打靶法解决本征值问题 双向打靶法全部代码 EigenMethods.py import numpy as np import matplotlib.pyplot as plt from SchrodingerTools import *#type-ode1: ## y(x)f(x)y(x) g(x) ##tips: ##lambda eigen,x:f(eigen,x)def replace_eigen(ei…

365天深度学习训练营-第T3周:天气识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f366; 参考文章&#xff1a;TensorFlow入门实战&#xff5c;第3周&#xff1a;天气识别&#x1f356; 原作者&#xff1a;K同学啊|接辅导、项目定制 我的环境&#xff1a; 语言环境&#xff1a…

Web网页制作-知识点(4)——CSS盒子模型、弹性盒模型(flex box)、文档流、浮动、清除浮动、定位、圆角、阴影

目录 CSS盒子模型 概念 弹性盒模型&#xff08;flex box&#xff09; 内容 父元素上的属性 display属性 flex-direction属性 justify-content属性 align-items属性 子元素上的属性 flex 文档流&#xff08;标准流&#xff09; 浮动 定义 浮动的原理 清除浮动 …

Java开发 - 负载均衡你了解多少?

前言 前面很多篇博客都有涉及到负载均衡&#xff0c;而负载均衡也并不是某一个框架的专利&#xff0c;从博主接触Java以来&#xff0c;使用的很多框架都自带了负载均衡的特点。今天&#xff0c;我们就来一探究竟&#xff0c;了解下负载均衡是什么&#xff0c;该怎么在项目中使…

Python 函数:理解并使用 return 语句

你好&#xff0c;我是悦创。 函数在 Python 编程中起着至关重要的作用。他们封装了一段代码&#xff0c;并给它一个名字&#xff0c;这样我们可以在程序的任何地方&#xff0c;通过这个名字来调用这段代码。return 是函数的一个重要组成部分&#xff0c;它可以使函数输出一个值…

差分方程转化为Z变换方程

差分方程是描述离散时间系统动态行为的数学工具&#xff0c;而Z变换则是将离散时间信号从时间域转换到复频域的工具。因此&#xff0c;将差分方程转换为Z变换方程可以方便我们在复频域分析离散时间系统的动态行为。 假设我们有一个差分方程: a n x [ n ] a n − 1 x [ n − 1…

rabbitmq第二课-RabbitMQ核心编程模型以及消息应用场景详解

一、回顾RabbitMQ基础概念 二、RabbitMQ基础编程模型 使用RabbitMQ提供的原生客户端API进行交互。这是使用RabbitMQ的基础。 1.1、maven依赖 <dependency><groupId>com.rabbitmq</groupId><artifactId>amqp-client</artifactId><version&g…