Echarts 基础知识浅析
1. 引入Echarts
Echarts是基于canvas的数据可视化产品,由百度公司推出
参考官方文档,引入教程示例即可,注意有两种引入方式:
(1)直接引入
(2)模块化引入
2. 基本API使用
(1)设置整个图表的大小位置使用grid属性
grid: { 设置图标整体的大小
// x: '20%', x,y表示左上角的相对位置,
// y: 100,
// x2: 200, x2,y2表示右下角的相对位
// y2: 100,
width: '50%', 宽度设置
left: '30%', left设置
// containLabel: true
},
(2)坐标轴xAxis、yAxis
xAxis: {
show: true, 设置显示隐藏坐标轴
type: 'category', 设置坐标轴类型,共category,value,time三种类型
boundaryGap: true, 设置是否在图形开始处于y轴留有间距
// position:'top', 设置x轴的位置在顶端
axisLine: {
onZero: false, 设置x轴不以y轴的0点开始
lineStyle: { 设置 x轴的样式
color: 'red',
width: 2,
type: 'solid'
}
},
axisTick: {
show: true, 设置x轴上标点显示
length: 10, 设置x轴上标点显示长度
lineStyle: { 设置x轴上标点显示样式
color: 'red',
width: 2,
type: 'solid'
}
},
axisLabel: { 设置标点内容显示样式
show: true,
rotate: 45, 设置标点内容45度倾斜显示
margin: 30,
textStyle: {
color: 'blue',
fontFamily: '微软雅黑'
},
formatter: function(val) { 设置显示data中的内容,可以传函数val是data中元素
return val + '函数'
}
},
splitLine: { 设置x轴标点分割线样式
show: true,
lineStyle: {
color: 'skyblue',
type: 'dashed',
width: 1
}
},
splitArea: { 设置x轴标点分割区域样式
show: true,
},
name: '星期',
data: ['周一', '周二', { 可以将数据设置成对象,单独设置样式
value: '周三',
textStyle: {
color: 'red',
fontSize: 30,
fontWeight: 'bold'
}
}, '周四', '周五', '周六', '周日']
},
yAxis: {
type: 'value',
max: 20, 设置y轴的最大值
axisLabel: {
formatter: '{value} °C'
}
},
(3)数据显示series
① 折线显示
series: [{
name: '最低气温',
type: 'line', 设置数据显示为折线
symbol: 'image://https://www.baidu.com/img/bd_logo1.png',
设置折线上标记点的样式,可以引用图片,也可以写star
symbolSize: 30, 设置标记大小
showAllSymbol: true, 设置显示所有标记
smooth: true, 设置折线图平滑显示
legendHoverLink: false, 关闭选择不同折线图时的高亮效果
data: [1, -2, 2, 5, { 单独设置某个数据的样式
value: 3,
symbolSize: 50
}, 2, 0],
itemStyle: { 设置折线图的样式
normal: { 设置默认样式
color: 'black',
lineStyle: {
width: 3,
color: 'green'
},
areaStyle: { 设置折线图与坐标进行填充
color: 'yellow'
},
label: {
show: true,
position: 'bottom', 设置折线上标记数据在下方显示
textStyle: {
color: 'red'
}
}
},
emphasis: { 设置鼠标移动到数据上时的,强调显示效果
label: {
show: true,
position: 'top',
textStyle: {
color: 'gray'
}
}
}
}
}]
② 柱形图显示
dataZoom: { 开启数据图缩放功能
show: true
},
series: [{
name: '蒸发量',
type: 'bar',
barGap: '-50%', 设置相同标记位柱形图之间的相对位置
barCategoryGap: '20%', 设置不同标记位柱形图之间的位置
barWidth: 10, 设置柱形图的宽度
data: [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3],
markPoint: {
data: [{
type: 'max',
name: '最大值'
}, {
type: 'min',
name: '最小值'
}]
},
markLine: {
data: [{
type: 'average',
name: '平均值'
}]
}
},
(4)title标题
title: {
text: '某地区蒸\n发量和降水量', \n表示换行
subtext: '纯属虚构', 副标题
x: 100, x,y表示标题的位置设置,可以为left等
y: 200
},
(5)legend图例
legend: {
data: [{ 可单独设置数据的样式,加入””空字符串可实现换行
name: '蒸发量',
icon:'image://https://www.baidu.com/img/bd_logo1.png', 替换图标
textStyle: {
color: 'green',
fontWeight:'bold'
}
}, '降水量'],
borderColor: 'red',
formatter:'{name}Echarts', 设置模板显示,也可以写函数
itemWidth: 20, 设置图例样式的宽
itemHeight: 20, 设置图例样式的高
selected:{'降水量':false},
textStyle:{color:'blue'} 设置图例文字的颜色
},
(6)数据拖拽显示条dataZoom
dataZoom: {
show: true,
realtime: false, 关闭实时变化功能
start: 40, 设置开始和结束的范围
end: 60,
zoomLock: true 开启锁定范围的功能
},
(7)数据显示提示框tooltip(可自定义formatter,多级显示)
tooltip: {
// trigger: 'axis',
trigger: 'item', 只当鼠标经过数据时显示
showContent: false, 关闭数据详细信息框
showDelay: 0, 关闭显示延迟
transitionDuration: 0, 关闭动画延迟效果
hideDelay:1000, 设置鼠标离开后延迟消失效果
axisPointer: { 设置背景提示样式,有cross、line、shadow三种
type: 'shadow',
lineStyle: { 设置line样式的具体内容
color: 'red'
},
crossStyle: {
color: 'green'
},
shadowStyle: {
color: 'rgba(150, 150, 150, 0.3)'
}
}
},
(8)饼图
{
name: '访问来源',
type: 'pie',
radius: ['40%', '55%'], 设置两个值,可变为环形图
// startAngle: 0, 设置起始角度
clockWise: false, 设置逆时针转动
data: [{
value: 335,
name: '直达'
}, {
value: 310,
name: '邮件营销'
}, {
value: 234,
name: '联盟广告'
}, {
value: 135,
name: '视频广告'
}, {
value: 1048,
name: '百度',
textStyle: {
align: 'left'
}
}, {
value: 251,
name: '谷歌'
}, {
value: 147,
name: '必应'
}, {
value: 102,
name: '其他'
}]
}
Echarts 基础知识浅析的更多相关文章
- Ajax基础知识 浅析(含php基础语法知识)
1.php基础语法 后缀名为.php的文件 (1) echo 向页面中输入字符串 <?php 所有php相关代码都要写在<?php ?>这个标签之中 echo &q ...
- Nodejs 基础知识 浅析
1. 模块化 ①常用模块化规范 CommonJS + nodejs AMD(Asynchronous Module Definition) + RequireJS CMD(Common Module ...
- canvas2D 基础知识 浅析
1.canvas HTML5给出的一个可以展示绘图内容的标签 使用领域: (推荐网站:threejs.org) 1. 游戏 2. 可视化数据 3. Banner广告 4. 多媒体 (1)在 c ...
- eCharts基础知识
eCharts插件介绍 http://echarts.baidu.com/tutorial.html#ECharts%20%E7%89%B9%E6%80%A7%E4%BB%8B%E7%BB%8D
- ES6(ECMAScript2015) 基础知识 浅析
1.块级作用域(let) { let fruit = “apple”; } console.log(fruit) 会报错,因为{ }大括号包含的区域为块级作用域,let在其中申明的变量只能在该块中生效 ...
- Angular1 基础知识 浅析(含锚点)
1.angular:前端js框架 https://angularjs.org ① SPA单页应用程序 通过ajax从后台获取数据,动态渲染页面,不出现白屏,提高效率,节省流量 (1)锚点值 锚点:是 ...
- 浅析C++基础知识
近期想对C++的面试题目进行一下更加详细的整理.事实上认真思考一下C++程序猿的面试,我们能够发现对程序猿的能力的考察总是万变不离当中,这些基础知识主要分为五部分:一. C/C++基础知识 二. C/ ...
- Unity3D基础知识梳理
这段时间在做Unity的项目,这差不多是我的第一次实战啊~然后公司来了实习的童鞋要学Unity,但是我一向不靠谱啊,所以只能帮他们稍微梳理下基础的东西了啊,唉~学长只能帮你们到这里了~顺便就把自己这两 ...
- C#基础知识 (转)
https://www.cnblogs.com/zhouzhou-aspnet/articles/2591596.html(原文地址) 本文是一个菜鸟所写,本文面向的人群就是像我这样的小菜鸟,工作一年 ...
随机推荐
- python__高级 : Property 的使用
一个类中,假如一个私有属性,有两个方法,一个是getNum , 一个是setNum 它,那么可以用 Property 来使这两个方法结合一下,比如这样用 num = property(getNum, ...
- Flask初学者:视图函数/方法返回值(HTML模板/Response对象)
返回HTML模板:使用“from flask import render_template”,在函数中传入相对于文件夹“templates”HTML模板路径名称字符串即可(默认模板路径),flask会 ...
- [BZOJ4196]软件包管理器(树链剖分)
[BZOJ4196] install x-> 询问根节点到x路径上0的个数,然后全变1 uninstall x-> 询问x子树(包括x)中1的个数,然后全边0 Code #include ...
- [Bzoj4408]神秘数(主席树)
Description 一个可重复数字集合S的神秘数定义为最小的不能被S的子集的和表示的正整数. 例如S={1,1,1,4,13}, 1 = 1 2 = 1+1 3 = 1+1+1 4 = 4 5 = ...
- PHP.17-文本式留言板
文本式留言板 思路: 1.首页:index.php 添加/查看信息界面 单纯的表单页面,注意留言内容为文本域<textarea> 2.添加信息页面:doAdd.php 1.获取要添加的留 ...
- Android 微信支付步骤
以前自己写过微信支付,今天让我用h5调用微信支付,结果还浪费了点时间,虽然时间不长. 1.导入jar包 .微信提供的jar包 2.写你的微信支付的代码,其实如果参数都有了就一段代码: public v ...
- laravel5.5服务提供器
目录 1. 编写服务提供器 1.1 注册方法 register 1.1.1 简单绑定 1.1.2 绑定单例 1.1.3 绑定实例 1.1.4 绑定初始数据 1.2 引导方法 boot 2. 注册服务提 ...
- React + webpack 快速搭建开发环境
因网上大多React + webpack快速搭建的运行不起来,便自行写了一个.在搭建开发环境的前需安装nodejs,npm. 新建一个工作目录,比如叫reactdome,在reactdome目录中运行 ...
- 剑指Offer - 九度1366 - 栈的压入、弹出序列
剑指Offer - 九度1366 - 栈的压入.弹出序列2014-02-05 20:41 题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所 ...
- 《Cracking the Coding Interview》——第18章:难题——题目2
2014-04-29 00:59 题目:设计一个洗牌算法,效率尽量快点,必须等概率. 解法:每次随机抽一张牌出来,最后都抽完了,也就洗好了.时间复杂度O(n^2),请看代码. 代码: // 18.2 ...