echarts使用记录(二)legend翻页,事件,数据集,设置y轴最大/小值,让series图形从右侧出往左移动
1、有时候legend比较多的时候,需要做翻页比较好,有个属性legend的type属性设置为scroll,然后animation可以控制动画,官方文档均可查。
再就是scrollDataIndex,就是默认从哪一项开始翻页。
然后有个问题就是虽然legend可以显示分页,但是series却没法跟随legend同步,而是全部显示,这点需要修改,就会涉及另一属性selected,是个对象,设置name为false就可以选中让series里面的线条消失,这是一个思路。
{
'2018-05-02' : false,
'2018-05-03' : false //不想显示的都设置成false
}
2、再就是echart的事件,如果触发了某事件,可以通过 myChart.on('eventName',callback) 获取事件,下面就是我设置legend翻页series跟随legend同步变化的事件监听
legend: {
data:this.legrend,
type:'scroll',
width:'',
animation:false,
scrollDataIndex:this.scrollDataIndex,
selected: this.legrendUnSelect
}, myLogLine.on('legendScroll',(params) => {
let index = params.scrollDataIndex;
let len = this.series.length;
//后翻页
if((index + )% ==){
this.scrollDataIndex = index + ;
for(let i=;i<len;i++){
this.legrendUnSelect[this.series[i].name] = (i > index && i - index <= ) ? true : false;
}
}
//前翻页
if((index -)% ==){
this.scrollDataIndex = index - ;
for(let i=;i<len;i++){
this.legrendUnSelect[this.series[i].name] = (i+ > index && i+ - index <= ) ? true : false;
}
}
console.log(this.legrendUnSelect)
//myLogLine.setOption(option);
this.drawLine();
})
再一个就是legend我想控制它只显示几个,但是一直没查到方法,试了几种也不行,这个需要对整个配置项比较清楚,目前没精力去通读这个,所以用了一个粗暴的犯法就是设置 legend 的 width 属性给个固定值,这样legend就会固定显示多少个了。如果有读者对echart比较熟的,欢迎留言赐教,谢谢。
3、ECharts 4 新提供了 数据集
(dataset
)组件来单独声明数据
radar: [
{
indicator: [
{text: '规范', max: },
{text: '性能', max: },
{text: '高可用', max: },
{text: '安全', max: },
{text:'稳定',max:}
],
center: ['50%','50%'],
radius:
}
],
dataset:{
dimensions:['normative','performance','recovery','safety','stability'],
source:[this.radarData]
},
series:[
{
type: 'radar',
tooltip: {
trigger: 'item'
},
itemStyle: {normal: {areaStyle: {type: 'default'}}},
name:'指标值'
/*data: [
{
//value: this.radarValues,
name: '指标值'
}
]*/
}
]
//数据
Mock.mock(/\/api\/getSuggestion/,'get',{
'normative':'@integer(1,100)',
'performance':'@integer(1,100)',
'recovery':'@integer(1,100)',
'safety':'@integer(1,100)',
'stability':'@integer(1,100)'
})
4、当y轴为百分比的时候,通常需要设置最大值为100%,如果不设置则有时候会成120,这点需要增加配置
坐标轴刻度最大值。
可以设置成特殊值 'dataMax'
,此时取数据在该轴上的最大值作为最大刻度。
不设置时会自动计算最大值保证坐标轴刻度的均匀分布。
在类目轴中,也可以设置为类目的序数(如类目轴 data: ['类A', '类B', '类C']
中,序数 2
表示 '类C'
。也可以设置为负数,如 -3
)。
当设置成 function
形式时,可以根据计算得出的数据最大最小值设定坐标轴的最小值。如:
max: function(value) {
return value.max - 20;
}
其中 value
是一个包含 min
和 max
的对象,分别表示数据的最大最小值,这个函数应该返回坐标轴的最大值。
5、利用数组特性,让series图形从右侧出来
var array = [];
array.length = ;
array.push();
array
//(51) [empty × 50, 1] array[]
//undefined
array[]
//undefined
array[]
//
如果图形默认只能显示50个点,那么先设置series的data的length为50,那么前50个点就会没有数据,显示不了图片。这样就利于做动画,让图形从右侧出来,慢慢往左移动
echarts使用记录(二)legend翻页,事件,数据集,设置y轴最大/小值,让series图形从右侧出往左移动的更多相关文章
- Echarts设置y轴值间隔 以及设置 barWidth : 30,//柱图宽度
需求:如图,y轴之间的距离太小,这样就太过于拥挤了,现在要修改echarts里面的属性,设置y轴值间隔让图表看上去舒服一些. 其实很多问题,真的只是因为自己没有好好的看文档,很多文档上面都写的 ...
- 移动端ios上下滑动翻页事件失效
移动端开发过程中,在添加上下滑动事件时候,引入了最常用的移动端库zepto.js及其touch模块,有一种现象,安卓的手机没有问题,上下滑动翻页很正常 :但是到了ios上面,好啊,上下滑动会出现弹性滚 ...
- 【Python】获取翻页之后的各页面中的属性值。
如何获取翻页之后的页面中的html标签中的属性值? # coding=utf-8 from selenium import webdriver if __name__=="__main__& ...
- echarts设置y轴值间隔
其中min.max可以自定义可以动态获取数据 yAxis : [ { type : 'value', axi ...
- ECharts设置y轴显示
参考地址:https://www.w3cschool.cn/echarts_tutorial/echarts_tutorial-no3h2cul.html yAxis: { type: 'value' ...
- Atitit.列表页面and条件查询的实现最佳实践(2)------翻页 分页 控件的实现java .net php
)------翻页 分页 控件的实现java .net php 1. 关于翻页有关的几大控件::搜索框控件,显示表格控件,翻页器,数据源控件.. 1 2. 翻页的显示格式:: 1 2.1. 通常ui- ...
- Atitit 翻页功能的解决方案与版本历史 v4 r49
Atitit 翻页功能的解决方案与版本历史 v4 r49 1. 版本历史与分支版本,项目版本记录1 1.1. 主干版本历史1 1.2. 分支版本 项目版本记录.1 2. Easyui 的翻页组件2 ...
- C#_简单实用的翻页
简单实用的生成翻页HTML辅助类 C# using System.Text; namespace ClassLibrary { /// <summary> /// /// </sum ...
- 论坛类应用双Tableview翻页效果实现
作为一名篮球爱好者,经常使用虎扑体育,虎扑体育应用最核心的部分就是其论坛功能,无论哪个版块,论坛都是其核心,而其论坛部分的实现又别具一格,它以两个tableview的形式翻页滚动显示,而不是常见的那种 ...
随机推荐
- 【WPF】生成二维码
第一步,下载Google的ZXing类库,以便引用: BitMatrix bitMatrix; private void Button_Click_1(object sender, RoutedEve ...
- 修改MySQL事件
MySQL允许您更改现有事件的各种属性. 要更改现有事件,请使用ALTER EVENT语句,如下所示: ALTER EVENT event_name ON SCHEDULE schedule ON C ...
- GeneXus项目启动
使用GeneXus产品开发项目时,在开始,有一些属性我会经常改一下.我现在使用的GeneXus版本是GeneXus U3,由于在做手机应用的开发,所以一般使用最新的版本,老外那边差不多两个月会有一个u ...
- 为什么ArrayList remove报错
不报错 List<String> userNames = new ArrayList<String>() {{ add("Hollis"); add(&qu ...
- 使用matplotlib绘图(三)之饼图
# 使用matplotlib绘制饼图 import numpy as np import matplotlib.pyplot as plt # 设置全局字体 plt.rcParams['font.sa ...
- 【BZOJ 3442】 3442: 学习小组 (最大费用流)
3442: 学习小组 Time Limit: 5 Sec Memory Limit: 128 MBSubmit: 403 Solved: 193 Description [背景] 坑校准备鼓励学生 ...
- java中代码块的认知
在以往面试题中,出现过很多次关于代码块执行顺序的题目,目前可算是搞清楚执行顺序了.看以下代码: package com.itcast.code; public class BlockTest { st ...
- bzoj 2483: Pku2279 Mr. Young's Picture Permutations -- 钩子公式
2483: Pku2279 Mr. Young's Picture Permutations Time Limit: 1 Sec Memory Limit: 128 MB Description ...
- Linux知识(3)----常用快捷键和命令
这里收集整理了一些常用的命令. 1.常用快捷键 这个链接介绍很全:http://blog.sina.com.cn/s/blog_8cb5c0e501012l7x.html 1. Ctrl + W: 关 ...
- MongoDB基础学习(一) MongoDB概念解析
.基础概念 SQL术语/概念 MongoDB术语/概念 说明 database database 数据库 table collection 数据表/集合 row document 数据记录行/文档 c ...