在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 相关文章推荐
javascript当onmousedown、onmouseup、onclick同时应用于同一个标签节点Element
Jan 05 Javascript
javascript json2 使用方法
Mar 16 Javascript
js保存当前路径(cookies记录)
Dec 14 Javascript
关于onchange事件在IE和FF下的表现及解决方法
Mar 08 Javascript
file控件选择上传文件确定后触发的js事件是哪个
Mar 17 Javascript
jquery对复选框(checkbox)的操作汇总
Jan 13 Javascript
JavaScript编程中实现对象封装特性的实例讲解
Jun 24 Javascript
探索Vue.js component内容实现
Nov 03 Javascript
浅谈Redux中间件的实践
Jul 27 Javascript
Nuxt.js实现一个SSR的前端博客的示例代码
Sep 06 Javascript
Axios取消重复请求的方法实例详解
Jun 15 Javascript
vue3.0 数字翻牌组件的使用方法详解
Apr 20 Vue.js
微信小程序实现时间戳格式转换
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
php多线程并发实现方法
2016/09/30 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
PHP连接及操作PostgreSQL数据库的方法详解
2019/01/30 PHP
PHP生成随机码的思路与方法实例探索
2019/04/11 PHP
基于jQuery的遍历同id元素 并响应事件的代码
2012/06/14 Javascript
jquery延迟加载外部js实现代码
2013/01/11 Javascript
解析javascript 浏览器关闭事件
2013/07/08 Javascript
JS实现的最简Table选项卡效果
2015/10/14 Javascript
JavaScript知识点总结之如何提高性能
2016/01/15 Javascript
jQuery给表格添加分页效果
2017/03/02 Javascript
js, jQuery实现全选、反选功能
2017/03/08 Javascript
nodejs服务搭建教程 nodejs访问本地站点文件
2017/04/07 NodeJs
NodeJS、NPM安装配置步骤(windows版本) 以及环境变量详解
2017/05/13 NodeJs
JavaScript监听手机物理返回键的两种解决方法
2017/08/14 Javascript
ExtJs整合Echarts的示例代码
2018/02/27 Javascript
Vue编程式跳转的实例代码详解
2019/07/10 Javascript
vue 集成 vis-network 实现网络拓扑图的方法
2019/08/07 Javascript
vue v-for直接循环数字实例
2019/11/07 Javascript
node.js中path路径模块的使用方法实例分析
2020/02/13 Javascript
vue Cli 环境删除与重装教程 - 版本文档
2020/09/11 Javascript
python3 pillow生成简单验证码图片的示例
2017/09/19 Python
python调用百度语音REST API
2018/08/30 Python
python的pip安装以及使用教程
2018/09/18 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
Window10下python3.7 安装与卸载教程图解
2019/09/30 Python
Python实现直播推流效果
2019/11/26 Python
Python基于pip实现离线打包过程详解
2020/05/15 Python
Python字典实现伪切片功能
2020/10/28 Python
CSS3教程(2):网页边框半径和网页圆角
2009/04/02 HTML / CSS
Puma印度官网:德国运动品牌
2019/10/06 全球购物
飞利浦美国官网:Philips美国
2020/02/28 全球购物
人民调解员先进事迹材料
2014/05/08 职场文书
2015年技术员工作总结
2015/04/10 职场文书
2015年小学图书室工作总结
2015/05/18 职场文书
2015年信息中心工作总结
2015/05/25 职场文书