在vue中使用echarts(折线图的demo,markline用法)


Posted in Javascript onJuly 20, 2020

公司最近在用vue开发项目,项目接近尾声了,趁休息时间写点demo——

vue引入echarts(折线图的demo)

主要是解决引入echarts,markline的使用(基准线)

这是demo的效果图:

vue脚手架不多赘述

1.安装依赖

cnpm install echarts -S

2.在main.js中引入echarts

import echarts from 'echarts'

3.在main.js中安装

Vue.prototype.echarts = echarts;

一般来说能正常挂载上组件,就可以在页面中正常使用了

废话不多说上代码(因为自己也是小白阶段所以写的注释多了点,以便以后使用)

1.HTML部分

<template>
 <div class="content">
 <p class="prompt_p">   近七天温度折线图</p>
 <div class="seven_echarts" id="seven"> 
 </div>
 </div> 
</template>

2.js部分

<script type="text/javascript">
	export default{
		data(){
			return{	
  seven_chart:null,
				month_chart:null,
  seven_option : {
				 title : {
				 	 // text: '未来一周气温变化',//感觉头部有点乱,没使用自带的标题
				 // subtext: '纯属虚构'
   x: 'left',
   align: 'center'
   },
				 tooltip: {
				 trigger: 'axis'
				 },
				 legend: {
				 data:['最高气温','最低气温',]
				 },
				 grid: {
				 left: '3%',
				 right: '4%',
				 bottom: '3%',
				 containLabel: true
				 },
				 toolbox: {
				 feature: {
				  magicType: {type: ['line', 'bar']},//柱状图和西和折线图切换
				  restore: {},//刷新
				  saveAsImage: {},//将图表以折线图的形式展现
				 }
				 },
				 xAxis: {
				 type: 'category',
				 boundaryGap: false,
				 data: ["11-26","11-27","11-28","11-29","11-30","12-01","12-02"]
				 },
				 yAxis: {
				 	name:"℃",
				 nameLocation: 'end',
				 	type: 'value',
				 axisLabel: {
				  formatter: '{value} '
				 }
				 },
				 series: [
				 		{
				  name:'最低气温',
				  type:'line',
				  data:[0,-1,-3,-4,0,-2,-4],
				  lineStyle:{//设置折线色颜色
   				color:'#3f89ec'
 					},
 					itemStyle:{//设置折线折点的颜色
						  normal : {
						  color:'#3f89ec'
						 }
 					}
				 },
				 	{
				  name:'最高气温',
				  type:'line',
				  data:[9,10,6,7,12,11,8],
				  lineStyle:{//设置折线色颜色
  			 		color:'black'
 					},
 					itemStyle:{//设置折线折点的颜色
						  normal : {
						  color:'black'
						 }
 					}			  
				 },
				 {
				  name:'平行于y轴的趋势线',
				  type:'line',
				  markLine: {
				  name:'aa',
				  data: [
					  {
	 							name: '0℃标准线',
	 								yAxis: 0,
	 								 lineStyle:{//设置折线色颜色
	   							color:'red'
	 								},
	 							},
 							],
 							symbol: ['arrow', 'none'],//将箭头向左 默认值是向右的
 							label:{
 								show:true,
  					position:'middle',//markline描述位于中间 right,left,middle
  					formatter: '{b}: {c}',//显示name中的描述
								}

				  }
				 }
				 
				 ],
				},
			}
		},
		mounted:function (){
			this.get_echarts();
		},
		methods:{	
			get_echarts:function(){
				this.seven_chart = this.echarts.init(document.getElementById("seven"));
				// 把配置和数据放这里
				this.seven_chart.setOption(this.seven_option)  
			}
 },
 beforeDestroy() {
  if (!this.seven_chart) { return }
  this.seven_chart.dispose();
  this.seven_chart = null;
 },
	}
</script>

3.css部分

<style type="text/css">
.content{
 width: 100%;
}
.content p{
 margin-top: 1rem;
 font-size: 0.4rem;
 color: #666666;
}
.seven_echarts{
 height: 11rem;
 width: 94%;
}
</style>

好了结束,本人目前还是前端的小白,如有错误欢迎指正,以后会不定期更新哟!

补充知识:Echarts中有多条曲线,数据精度为小数时,画线部分与小数刻度显示不准确

最近遇到了一个问题就是 多条曲线,数据精度为小数时,画线部分与小数刻度显示不怎么准确,但是单条曲线的时候就没问题

// stack: ‘总量', //此处注释掉 这个问题 就解决了 所有的都要注释掉

series: [
 {
 name: 'line1',
 type: 'line',
 // stack: '总量',  //此处注释掉
 data: this.lineData.series[0].data  //data中包含带有小数的数据
 },
 {
 name: 'line2',
 type: 'line',
 // stack: '总量',  //此处注释掉
 data: this.lineData.series[1].data  //data中包含带有小数的数据
 }
]

如果还有什么问题,大家留言一起讨论。

以上这篇在vue中使用echarts(折线图的demo,markline用法)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery常用技巧及常用方法列表集合
Apr 06 Javascript
javascript针对DOM的应用分析(二)
Apr 15 Javascript
javascript抖动元素的小例子
Oct 28 Javascript
21个值得收藏的Javascript技巧
Feb 04 Javascript
JS动态添加Table的TR,TD实现方法
Jan 28 Javascript
JavaScript中Math.SQRT2属性的使用详解
Jun 14 Javascript
基于jquery编写分页插件
Mar 07 Javascript
基于bootstrap实现bootstrap中文网巨幕效果
May 02 Javascript
vue源码入口文件分析(推荐)
Jan 30 Javascript
VeeValidate在vue项目里表单校验应用案例
May 09 Javascript
JS字典Dictionary类定义与用法示例
Feb 01 Javascript
vue组件讲解(is属性的用法)模板标签替换操作
Sep 04 Javascript
微信小程序实现时间戳格式转换
Jul 20 #Javascript
解决Vue + Echarts 使用markLine标线(precision精度问题)
Jul 20 #Javascript
Jquery如何使用animation动画效果改变背景色的代码
Jul 20 #jQuery
解决echarts echarts数据动态更新和dataZoom被重置问题
Jul 20 #Javascript
JavaScript如何实现监听键盘输入和鼠标监点击
Jul 20 #Javascript
解决echarts vue数据更新,视图不更新问题(echarts嵌在vue弹框中)
Jul 20 #Javascript
基于Echarts图表在div动态切换时不显示的解决方式
Jul 20 #Javascript
You might like
推荐几部必看的DC动画电影
2020/03/03 欧美动漫
日本十大科幻动漫 宇宙骑士垫底,第一已成经典
2020/03/04 日漫
vBulletin HACK----关于排版的两个HACK
2006/10/09 PHP
php递归列出所有文件和目录的代码
2008/09/10 PHP
如何取得中文字符串中出现次数最多的子串
2013/08/08 PHP
[原创]php使用curl判断网页404(不存在)的方法
2016/06/23 PHP
php生出随机字符串
2017/07/06 PHP
php实现生成PDF文件的方法示例【基于FPDF类库】
2018/07/21 PHP
dojo 之基础篇(二)之从服务器读取数据
2007/03/24 Javascript
javascript 在firebug调试时用console.log的方法
2012/05/10 Javascript
jQuery插件 selectToSelect使用方法
2013/10/02 Javascript
jQuery中使用data()方法读取HTML5自定义属性data-*实例
2014/04/11 Javascript
js根据鼠标移动速度背景图片自动旋转的方法
2015/02/28 Javascript
ECMAScript 5中的属性描述符详解
2015/03/02 Javascript
jQuery div拖拽用法实例
2016/01/14 Javascript
JS实现的样式切换功能tableCSS实例
2016/12/30 Javascript
简谈创建React Component的几种方式
2019/06/15 Javascript
vuejs实现下拉框菜单选择
2020/10/23 Javascript
Python使用pylab库实现画线功能的方法详解
2017/06/08 Python
Python日期时间Time模块实例详解
2019/04/15 Python
Flask框架重定向,错误显示,Responses响应及Sessions会话操作示例
2019/08/01 Python
使用selenium和pyquery爬取京东商品列表过程解析
2019/08/15 Python
python super函数使用方法详解
2020/02/14 Python
从多个tfrecord文件中无限读取文件的例子
2020/02/17 Python
python 负数取模运算实例
2020/06/03 Python
css背景图片的背景裁切、背景透明度、背景变换等效果运用
2012/12/24 HTML / CSS
纽约服装和生活方式品牌:Saturdays NYC
2017/08/13 全球购物
Baby Tulai澳大利亚:美国婴儿背带品牌
2018/10/15 全球购物
优秀毕业大学生推荐信
2013/11/13 职场文书
给领导的检讨书
2014/02/16 职场文书
房屋买卖协议书
2014/04/10 职场文书
森林防火宣传标语
2014/06/27 职场文书
教师职业道德事迹材料
2014/08/18 职场文书
廉政教育的心得体会
2014/09/01 职场文书
永远是春天观后感
2015/06/12 职场文书
会议营销主持词
2015/07/03 职场文书