echarts画折线图的简单使用

使用echarts画折线图

在做项目的时候使用到了echarts插件,在使用的过程中客户提了各种各样的需求,在这里总结下:
echarts.min.js的下载地址:https://www.echartsjs.com/en/download.html

详细学习各个配置的链接:https://www.echartsjs.com/en/option.html

其余需求都在代码里标注了:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>使用echarts画折线图</title>
<script type="text/javascript" src="echarts.min.js" ></script>

</head>
<style>
.box{
	width:98%;
	height:500px;
	top:200px;
	border:1px solid #c0c0c0;
	margin: 5px 5px;
}
</style>

<body>
	
	<div class="box" id="lineChart"></div>
	
	<script type="text/javascript">
	//用id找div
	var myChart = echarts.init(document.getElementById('lineChart'));

	var x = ['2009/6/12 2:00', '2009/6/12 3:00', '2009/6/12 4:00', '2009/6/12 5:00', '2009/6/12 6:00',
			'2009/6/12 7:00', '2009/6/12 8:00', '2009/6/12 9:00', '2009/6/12 10:00', '2009/6/12 11:00'];
			
	var y = [21941.146, 1654642.6444, 651165.5464, 15415616, 16440.564, 51654.264, 462.556, 9744.15, 546, 442.61];
	var max = Math.max.apply(Math,y);
   	//.toFixed(2)小数点保留两位并四舍五入
   	for(var i = 0; i < y.length; i++) {
		//string转float
   		y[i] = parseFloat(y[i]);
   		if(y[i]%1 === 0){
			y[i] = y[i];
		}else{
			y[i] = y[i].toFixed(2);
		}
   	}

	   	var option = {
			//线的颜色
            color: ['#8EC9EB'],
			//图例的位置
            legend: {
                data: ['lineName'],
                y: 'bottom',
		        x: 'left'
            },
            title: {
            	text: 'title',
            	subtext: 'subtext'
            },
            //折线图与div之间空隙的设定
            //x:左边距、x2:右边距、y:上边距、y2:下边距
            grid:{
                x:80,
                x2:80,
            },
            tooltip: {
                trigger: 'axis'
            },
            toolbox: {
                feature: {
                    dataView: {},
                    saveAsImage: {
                    },
                }
            },
            xAxis: {
                type: 'category',
                //x轴的数值逐一对应
                boundaryGap: false,
                //显示与y轴平行的直线
                splitLine: {show: true},
                data: x.map(function (str) {
                	//x轴的日期时间两行显示
	                return str.replace(' ', '\n')
	            }),
				//x轴的名称
                //name: 'hours',
                //x轴显示值
				axisLabel: {
					//倾斜30度显示数值
					rotate: 30,
					//数据全部显示(强制)
					interval:0,
                    formatter: function (value) {
							return value.substring(5,16);

                    }
                }

            },
			yAxis: {
            	type: 'value',
            	//y轴显示值
            	axisLabel: {
            		//科学计数法
					formatter: function (value) {
							var res = value.toString();
							var numN1 = 0;
							var numN2 = 1;
							var num1=0;
							var num2=0;
							var t1 = 1;
							for(var k=0;k<res.length;k++){
								if(res[k]==".")
								   t1 = 0;
								if(t1)
								   num1++;
								else
								   num2++;
							}
							//abs()方法,取数的绝对值
							if(Math.abs(value)<1 && res.length>4)
							{
								for(var i=2; i<res.length; i++){
									if(res[i]=="0"){
										numN2++;
									}else if(res[i]==".")
										continue;
									else
										break;
								}
								var v = parseFloat(value);
								v = v * Math.pow(10,numN2);
								return v.toString() + "e-" + numN2;
							}else if(value == 0){
								return 0;
							}else if(max>=10000){
								if(res[0]=="-")
									numN1 = num1 - 2;
								else
									numN1 = num1 - 1;
								var v = parseFloat(value);
								v = v / Math.pow(10,numN1);
								if(num2 > 4)
									v = v.toFixed(4);
								return v.toString() + "e" + numN1;
							}else
								return parseFloat(value);
					}
				}
            },
            series: [{
                name:'lineName',
            	type: 'line',
            	//数据点的大小
        		symbolSize: 10,
            	//使折线有弧度
                smooth: true,
                //折线数据点的数值的显示
				label: {
					normal: {
						show: true,
						position: 'top'
					}
				},
                data: y

            }]
        };

		//画折线图
        myChart.setOption(option);

	</script>
</body>
</html>

运行结果如下:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在uniapp中使用echarts可以通过uni-echarts插件来实现。下面是一个简单折线图实现步骤: 1. 安装插件:在HBuilderX中,打开项目,右键选择工具 -> 插件市场,搜索 uni-echarts 插件并安装。 2. 在需要使用图表的页面中引入 echarts 和 uni-echarts 组件。 ``` <template> <view class="container"> <uni-echarts :option="echartsOption" :config="echartsConfig"></uni-echarts> </view> </template> <script> import * as echarts from 'echarts' import uniEcharts from '@/components/uni-echarts/uni-echarts.vue' export default { components: { uniEcharts }, data() { return { echartsOption: {}, echartsConfig: {} } } } </script> ``` 3. 在页面的 data 中定义 echartsOption 和 echartsConfig,其中 echartsOption 是图表的配置项,echartsConfig 是图表的全局配置。 ``` data() { return { echartsOption: { xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, yAxis: { type: 'value' }, series: [{ data: [820, 932, 901, 934, 1290, 1330, 1320], type: 'line' }] }, echartsConfig: { lazyLoad: true // 懒加载 } } } ``` 4. 在页面的 onReady 生命周期中初始化图表。 ``` onReady() { this.$nextTick(() => { this.echartsInit() }) }, methods: { echartsInit() { this.$refs.echarts.init((canvas, width, height) => { const chart = echarts.init(canvas, null, { width: width, height: height }) chart.setOption(this.echartsOption) return chart }) } } ``` 5. 至此,你已经成功地在uniapp中使用echarts出了一个折线图。 以上是一个简单折线图实现步骤,你可以根据自己的需求来调整和修改图表的配置项,以及添加更多的图表类型。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值