echarts - 特殊需求实现代码汇总之【线图】篇
时间过得好快,刚刚还是7月底,一转眼自己调整(浪费)了大半个月的时间。。
接下来要先总结一下自己之前的知识点,然后清掉自己的待办任务,重新轻装上阵!
继7月24的echarts-柱图配置汇总后,echarts特殊配置连载第四篇 之 线图终于也被我这个懒家伙放出来了!
1. 区域渐变
其实这种样式在官网的demo中有类似的效果,像这个 basic area chart 的,主要是线图下边的区域设置。
起作用的是 series(type=line) 下的 areaStyle(我的字面理解是区域效果)属性的效果。
而 渐变效果 见另一个图表:
tooltip and DataZoom on Mobile
在此有关于渐变的设置:
不过,在本例中我的最终实现代码为:
你会发现跟上边贴链接的渐变效果配置不一样,具体注解或者其他的区域填充样式,可以直接去配置项的这个位置查看:┏ (゜ω゜)=☞
areaStyle: {
normal: {
color: {
type: 'linear',
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [{
offset: 0,
color: '#638FFF'
},
{
offset: 1,
color: 'rgba(248,65,126,0.90)'
}],
globalCoord: false
}
}
}
2. 显示加百分号,并作小数点后两位百分比处理
同之前的那一篇博文一样,属于同一类问题。
其实有了 formatter 回调函数,对展示文案的处理怎么都好说,就是js代码的组合拼装了其实。
具体见另一片博文:https://www.cnblogs.com/padding1015/p/8625168.html
配置项位置: ┏ (゜ω゜)=☞
这个formatter函数的参数,给了我们几乎所有的好用的值:
根据返回的参数,加工处理一下,就能得到我们想要的效果
效果:
代码:
option = {
label: {
show: true,
formatter: function(params) {
return (params.data).toFixed(2) + '%'
}
},
xAxis: {
type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
},
yAxis: {
type: 'value'
},
series: [{
data: [820, 932, 901.856, 934.78567, 1290.4, 1330, 1320],
type: 'line',
smooth: true
}]
};
3. Solid模式的水平线
这个对于我来说的难题就是,后台只给我一个值,然后让我连成一条线。【微笑】
有点数学常识的,错,有点生活常识的都知道最起码两点成一线吧。
而且在echats图标里,series下的多个对象,他们内部的data值数量应该对应,这样每一个x轴对应的点有数据,整条线才会充满整个x轴,否则就像下边这样:
红线的data值数量小于蓝线的,所有红线看上去就短了。
如果只给我一个数,不用看也知道是下边这样一个点:
那我怎么才能让其连成一条和上边的线同等长度的直线呢?
那我怎么才能让其连成一条和上边的线同等长度的直线呢?
以我的榆木脑袋,能想到的只有把一个点繁衍成所有需要的点,形式就像这样:
复制多个直到和上边的数组长度相等。。
没办法,这个活我不干就得后端干。
困扰我多年,如果各位看客知道ecahrts还有更好的解决办法,恳请指正。
好了我的主题来了,这里四个520,其实已经是一条直线了,还要做平均线吗?
要做,echarts的平均线很好看,这个四个相同数值画出来的直线没有那个效果。
于是,配置平均线的代码我这样写:
真正的主角是 markline,他会根据你的配置,自动计算data里边所有数值和的平均值,你只需要简单地配置就能生成一条美丽的平均线,
默认平均线的线型是虚线,可以和css的border一样设置为solid(实线),以及颜色美化等都看自己的需要。
这里我特地标注了symbolSize,我设置为了0。他的作用是将上文说的四个520(本文的多个2.6)形成的直线上,每个数值与x轴对应的点的大小设置为0。
不然data里多个数值形成的直线长这样,就像糖葫芦。很明显的能看出来,多个小圆点被直线穿过。
将点的大小设为0,视觉上,线上就没有圆点了。
然后线的粗细也设置为最小,让其与平均线合二为一。就成了完美的平均线。(见下边的蓝色平均线)
其实红线也是平均线,红线上的黄色区域是我故意突出显示的线条。黄色线条就是多个相同数值连成的直线。如果没有平均线,线条的位置和长短大概就是黄线区域的样子。
代码:
option = {
title: {
text: '某地区蒸发量和降水量',
subtext: '纯属虚构'
},
tooltip: {
trigger: 'axis'
},
legend: {
data: ['蒸发量', '降水量']
},
toolbox: {
show: true,
feature: {
dataView: {
show: true,
readOnly: false
},
magicType: {
show: true,
type: ['line', 'bar']
},
restore: {
show: true
},
saveAsImage: {
show: true
}
}
},
calculable: true,
xAxis: [{
type: 'category',
data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
}],
yAxis: [{
type: 'value',
splitLine: {
show: false
}
},
{
type: 'value',
splitLine: {
show: false
}
}],
series: [{
name: '蒸发量',
type: 'line',
symbolSize: 0,
markLine: {
data: [{
type: 'average',
name: '平均值'
}],
lineStyle: {
type: 'solid'
}
},
lineStyle: {
width: 0
},
data: [12.6, 12.6, 12.6, 12.6, 12.6, 12.6, 12.6, 12.6, 12.6, 12.6, 12.6, 12.6, 12.6, 12.6],
smooth: true,
},
{
name: '降水量',
type: 'line',
symbolSize: 0,
markLine: {
data: [{
type: 'average',
name: '平均值'
}],
lineStyle: {
type: 'solid',
color: 'red'
}
},
data: [2.6, 2.6, 2.6, 2.6, 2.6, 2.6, 2.6, 2.6, 2.6, 2.6, 2.6, 2.6, 2.6, 2.6],
lineStyle: {
width: 20
},
yAxisIndex: 1
}]
};
2018-08-11 11:53:08
echarts - 特殊需求实现代码汇总之【线图】篇的更多相关文章
- echarts - 特殊需求实现代码汇总之【柱图】篇
其实包括饼图.线图在内,和柱图都一样的感觉,他们的配置项基本也是对应的那几个,所以想实现某些相似的效果,只要找到对应的属性就可以了. 1.柱图渐变色设置 还记得上篇线图中的实现是在areaStyle的 ...
- echarts - 特殊需求实现代码汇总之【饼图】篇
2018-07-24 15:36:43 起 - 饼图单项不同颜色的设置 效果图: 实现: 说明: 其实很简单,就是设置全局的color属性即可.color属性可以是一套数组,里边的样式以字符串格式设置 ...
- echarts - 特殊需求实现方案汇总
五分钟上手echarts echarts中 设置x||y轴文案.提示文字等为固定字数,超出显示"..." 关于echarts下钻功能的一些总结.js echarts - 特殊需求实 ...
- echarts相关属性设置(1)折线图篇
option = { tooltip: { trigger: 'axis', // axisPointer: { // type: 'cross', // label: { // background ...
- Echarts-K线图提示框改头换面
工作: 使用Hbuilder建web工程,加入echarts相关库,根据需要更改K线图及其的提示样式,去除默认提示,使用异步加载echarts的数据,数据格式为json. 需要注意的K线图和5日均线, ...
- C#下如何用NPlot绘制期货股票K线图(3):设计要显示的股票价格图表窗口并定义相应类的成员及函数
[内容简介] 上一篇介绍了要显示K线图所需要的数据结构,及要动态显示K线图,需要动态读取数据文件必需的几个功能函数.本篇介绍要显示蜡烛图所用到的窗口界面设计及对应类定义.下面分述如下: [窗口界面] ...
- 一起来玩echarts系列(一)------箱线图的分析与绘制
一.箱线图 Box-plot 箱线图一般被用作显示数据分散情况.具体是计算一组数据的中位数.25%分位数.75%分位数.上边界.下边界,来将数据从大到小排列,直观展示数据整体的分布情况. 大部分正常数 ...
- Echarts数据可视化series-line线图,开发全解+完美注释
全栈工程师开发手册 (作者:栾鹏) Echarts数据可视化开发代码注释全解 Echarts数据可视化开发参数配置全解 6大公共组件详解(点击进入): title详解. tooltip详解.toolb ...
- 使用ECharts画K线图
需引入echarts.js插件,开发环境建议选择源代码版本,该版本包含了常见的警告和错误提示.下载地址 http://echarts.baidu.com/download.html 下面是代码,注释很 ...
随机推荐
- Lemon OA第2篇:功能解析方法
Lemon OA,整个系统功能也算是比较丰富,OA的很多功能都能看见影子,虽然做得不是很强大 接触Lemon OA,起源于Activiti的学习热情,既然这样,研究Lemon OA的目标有3: 1.L ...
- Spring核心框架体系结构(jar包引用分析)[转]
很多人都在用spring开发java项目,普通添加lib目录拷贝jar包,或者创建maven项目时,配置maven依赖的时候并不能明确要配置哪些spring的jar,经常是胡乱添加一堆,编译或运行报错 ...
- 【转】IOS 学习之 NSPredicate 模糊、精确、查询
转自:http://blog.csdn.net/lianbaixue/article/details/10579117 简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于S ...
- Java 利用POI操作PPT
解析PPT文件中的图片 import java.io.File; import java.io.FileOutputStream; import org.apache.poi.hslf.HSLFSli ...
- HDU 5414 CRB and String (2015年多校比赛第10场)
1.题目描写叙述:点击打开链接 2.解题思路:本题要求推断字符串s是否能通过加入若干个字符得到字符串t. 首先,能够知道,s必须是t的一个子串(注意:不是连续子串). 第二.因为插入的新字符和它前面的 ...
- java 散列
原文:https://www.cnblogs.com/younghao/p/8333795.html 为什么要设计散列这种数据结构呢?在现实世界中,实体之间可能存在着映射关系(key-value),比 ...
- 开发者如何更好的选择和适应NoSQL的5个阶段
基本含义 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨.NoSQL的拥护者们提倡运用非关 ...
- 5 -- Hibernate的基本用法 --1 2 基本映射方式
ORM工具提供了持久化类和数据表之间的映射关系.实际上,所有的ORM工具大致上都遵循相同的映射思路,ORM基本映射有如下几条映射关系: ⊙ 数据表映射类 : 持久化类被映射到一个数据表.程序使用这个持 ...
- css后台页面布局技巧
目标: 实现左边侧边栏固定,右边内容区自适应 侧边栏内容较少时背景100%高度展示 侧边栏内容较多时可以滚动,且不让显示滚动条(显示太丑) 内容区较少时不出现滚动条,较多时可以滚动 code: < ...
- javascript 以“年-月-日 时:分:秒”格式显示当前时间
运行代码 /** * Created by shgbit on 2015/1/9. *js代码 */ function showNow(){ var t=new Date(); var mont ...