基本写法

import Vue from 'vue'

import echarts from 'echarts'

import apkCompile from '@/api/map/apkCompile.js'

Vue.use(echarts)

export default {

data () {

return {

chartsObj: {},

// 配置项对象

defaultOption: {

title: {

text: ''

},

tooltip: {

trigger: 'axis'

},

//x轴过长下拉滑动

dataZoom: {

show: true,

start: 30,

end: 70,

maxSpan: 80

// zoomLock: true

},

//控制类目

legend: {

data: [],

selected: {

}

},

//整个echart图在这个容器中的位置

grid: {

left: '3%',

right: '4%',

bottom: '10%',

containLabel: true

},

toolbox: {

},

//x轴

xAxis: [

{ type: 'category',

boundaryGap: false,

data: []

}

],

//~~~~y轴

yAxis: {

name: '%(cpu)',

type: 'value'

},

series: []

}

}

},

mounted () {

//初始化

this.drawECharts()

},

methods: {

drawECharts () {

// 基于准备好的dom,初始化echarts实例

let myChart = echarts.init(document.getElementById('myChart'))

//配置项加入 myChart.setOption(this.defaultOption)

let params = {

apk: 'http://172.22.14.138/output/android_packages_apps_SmartShot/LzE5e9K9c/SystemUI-ard9.0-system_app-2019_11_12_23_48_41-LzE5e9K9c-release.apk',

scriptName: 'SmartShot_rom9.1_hd003'

}

this.$fetch(apkCompile.getCpuChats, params).then(res => {

console.log(res.data)

this.chartsObj = res.data

this.chartsObj.series.forEach((item, index) => {

//series中加上type this.chartsObj.series[index].type = 'line'

})

//对象的结构赋值

let obj = { ...this.defaultOption }

//把接口返回的值赋值给配置项

obj.legend.data = this.chartsObj.legend

obj.xAxis[0].data = this.chartsObj.xaxis

obj.series = this.chartsObj.series

//重新初始化 myChart.setOption(obj)

})

}

}

}

对于X轴类目的名字的控制

设置x轴的名字倾斜

右倾

xAxis: {

type: 'category',

boundaryGap: [0, 0.01],

name: '投标人',

data: [ '' ],

axisLabel:{

interval:0,//横轴信息全部显示

rotate:-30,//-30度角倾斜显示

}

},

左倾

axisLabel: {

interval:0,

rotate:40

}

interval

坐标轴刻度标签的显示间隔(在类目轴中有效哦),默认会采用标签不重叠的方式显示标签(也就是默认会将部分文字显示不全)

可以设置为0强制显示所有标签,如果设置为1,表示隔一个标签显示一个标签,如果为3,表示隔3个标签显示一个标签,以此类推

rotate

标签倾斜的角度,在类目轴的类目标签显示不全时可以通过旋转防止标签重叠(官方这样说的)旋转的角度是-90到90度

问题又来了,这个名称x轴的文字如果太长会受到遮挡,还是显示不全,这个时候可以用grid属性解决

文字垂直显示

axisLabel中使用formatter回调,formatter有两个参数,使用方法是这样的formatter:function(value,index){} ,value是类目,index 是类目索引。

axisLabel: {

interval: 0,

formatter:function(value)

{

return value.split("").join("\n");

}

}

文字竖直这个formatter实在有点太简单化了,所以我们来做一个两个字的加n的换行。formatter如下:

axisLabel: {

interval: 0,

formatter:function(value)

{

debugger

var ret = "";//拼接加\n返回的类目项

var maxLength = 2;//每项显示文字个数

var valLength = value.length;//X轴类目项的文字个数

var rowN = Math.ceil(valLength / maxLength); //类目项需要换行的行数

if (rowN > 1)//如果类目项的文字大于3,

{

for (var i = 0; i < rowN; i++) {

var temp = "";//每次截取的字符串

var start = i * maxLength;//开始截取的位置

var end = start + maxLength;//结束截取的位置

//这里也可以加一个是否是最后一行的判断,但是不加也没有影响,那就不加吧

temp = value.substring(start, end) + "\n";

ret += temp; //凭借最终的字符串

}

return ret;

}

else {

return value;

}

}

}

X轴类目项隔一个换行(使用formatter中index参数)

都是上面的第二种方法是利用formatter中的value参数实现了文字拼接\n换行的,但是index参数并没有使用,现在我们就一起来使用这两个参数实现隔一个类目项换行。

axisLabel: {

interval: 0,

formatter:function(value,index)

{

debugger

if (index % 2 != 0) {

return '\n\n' + value;

}

else {

return value;

}

}

}

echarts图例legend选中状态动态设置 selected

需要对所有指标的图例默认选中状态只显示前两个,其他指标的图例状态默认为灰色。

//图例配置项

legend: {

x: 'center',

y: 'bottom',

data: $scope.key_value,

selected:{}

},

//js动态加载

var selected_item = {};

for(i =0; i < $scope.key_value.length; i++){

var key_name = $scope.key_value[i];

if(i >1){

selected_item[key_name] = false;

}else{

selected_item[key_name] = true;

}

};

option.legend.selected = selected_item;

//原始写法selected_item.key_name = false; 会报错,原因是: json 解析时 key_name 都按字符串解析,不识别变量.

echart高级使用_echarts高级入坑相关推荐

  1. 阿里java架构师+职级_阿里 P8 高级架构师年入100W+,到底什么水平?

    原标题:阿里 P8 高级架构师年入100W+,到底什么水平? 大家都知道,阿里P8高级技术专家,基本上是一线技术人能达到的最高职级,也是很多程序员追求的目标.达到年入百万的P8 Java高级架构师级别 ...

  2. 2020《图像分割》从入坑到出坑指南

    本文经授权转载自机器之心(almosthuman2014),来源:medium,作者:Jakub Czakon,编译:小舟.Racoon.张倩,未经授权禁止二次转载与摘编. 本文长度为2400字,建议 ...

  3. 干货丨从感知机到深度神经网络,带你入坑深度学习

    作者:Adi Chris 机器之心编译 参与:朱乾树.刘晓坤 机器学习工程师 Adi Chris 最近学习完吴恩达在 Coursera 上的最新课程后,决定写篇博客来记录下自己对这一领域的理解.他建议 ...

  4. python工程师薪资坑吗-入坑Python爬虫值不值?

    点击蓝字"python教程"关注我们哟! 有很多小伙伴,学习了Python的很多知识,比如基础语法.函数,web.爬虫.人工智能等,但是这么多就业方向,一时难选,不知道入坑Pyth ...

  5. python web-python web入坑指南

    原标题:python web入坑指南 Invest regularly in your knowledge portfolio. Make learning a habit. 自学python web ...

  6. Kubernetes ~ k8s 从入门到入坑。

    Kubernetes ~ k8s 从入门到入坑. 文章目录 Kubernetes ~ k8s 从入门到入坑. 1. Kubernetes 介绍. 1.1 应用部署方式演变. 1.2 kubernete ...

  7. 因泡妞入坑前端的年度总结 | 掘金年度征文

    前言 自学了那么长一段时间,还是得正正经经的写一篇总结文章的,一呢是为了跟风,二呢是为了拿掘金小册的6折券 (是很真实了...),大家拿起小板凳,坐好,接下来我要开始吹牛了~ 从何说起 怎么说呢,先自 ...

  8. 向量数据库入坑指南:聊聊来自元宇宙大厂 Meta 的相似度检索技术 Faiss

    我们日常使用的各种 APP 中的许多功能,都离不开相似度检索技术.比如一个接一个的新闻和视频推荐.各种常见的对话机器人.保护我们日常账号安全的风控系统.能够用哼唱来找到歌曲的听歌识曲,甚至就连外卖配送 ...

  9. 【避免入坑】混合硬盘上安装Win10+Ubuntu18.04双系统需要注意的细节

    因为系统崩溃且之前使用Win7分区不合理,所以直接重装,这里改用Win10,我的电脑配置是512G SSD+4T机械+32GB内存+Nvdia2080ti显卡,本文只是将安装中需要注意的细节说明,不重 ...

最新文章

  1. 【ACL 2020】腾讯AI Lab解读三大前沿方向及入选的20篇论文
  2. 网络推广——网络推广专员如何分析网站关键词排名波动影响因素
  3. 常见虚拟主机目录对照及星外提权目录
  4. HDFS HA模式下支持只连接其中Active的NameNode
  5. (3)LoraWAN:链路控制、SF BW CR
  6. 调试人脸识别 无cpu版本出现的问题
  7. SSH复用代码最终版
  8. label怎么换行 vb_VB中怎么换行 | 学步园
  9. 怎么看(美女)漫画最爽 - 图流
  10. 2. linux安装(1)
  11. Google TV 来了
  12. RabbitMQ:镜像队列Mirrored queue
  13. KY122 找出直系亲属
  14. 网络表示学习Network Representation Learning/Embedding
  15. 解决超新尔雅网课无法倍速(16+倍速冲刺)
  16. Qt 3D 汽车仪表盘
  17. 火狐浏览器看过的视频怎么提取出来
  18. Guitar Pro8吉他谱中文正式版
  19. 图论(单源最短路径)
  20. java cn.itcast.gjp.service

热门文章

  1. python处理excel的优势-Python处理Excel数据的坑,一文让你不用重复犯错
  2. python中文版软件下载-专业PYTHON开发工具——PyCharm中文汉化版下载(图文)
  3. python自学书-大牛推荐的10本学习 Python 的好书
  4. python工资多少钱一个月-苏州工业园区学编程大概多少钱一个月
  5. idea 初始界面_IDEA 初始配置教程
  6. vue中配置不同的代理同时访问不同的后台
  7. access计算机二级改工号,Access新手来看:如何更改表/窗体/报表...得名字
  8. linux卸载alien,Ubuntu/Debian下的安装包装换工具—alien
  9. linux 安装simg2img,linux可执行文件执行时提示No such file or directory(docker环境中运行的ubuntu镜像)...
  10. 【链表】剑指offer:从尾到头打印链表