echarts画折线图

echarts画折线图

先上echarts官网下周echarts.js插件引入

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      *{
        margin: 0;
        padding: 0;
      }
      .container{
      display: flex;
      justify-content: space-between;
      width: 100%;
      height: 100vh;
      flex-wrap: wrap;
      }
      .item{
        width: 40%;
        height: 500px;
      }
    </style>
  </head>
  <body>

    <div class="container">

    </div>
  </body>
  <script src="./echarts.js"></script>
  <script src="./demo.js"></script>
  <script>
    let array_number = 4
    add(array_number)
    let array = [0.15, 0.2, 0.05, 0.22, 0.18, 0.19] //y轴数值 
    let title = 'P0  总进水压力' //表格名字
    let name_y = 'MPa'//y轴单位
    let name_x = '时间'//x轴单位
    let max_y = 0.5 //y的最大值
    let main = 'main1' // div的id
    let main2 = 'main2'
    let main3 = 'main3' 
    let num_error = 0.1
    let warn = false //是否显示警戒线
    demo(array,main,title,name_x,name_y,max_y,num_error,warn)
    demo(array,main2,title,name_x,name_y,max_y,num_error,true)
    demo(array,main3,title,name_x,name_y,max_y,num_error,warn)
    demo(array,'main4',title,name_x,name_y,max_y,num_error,warn)
  </script>
</html>

function add(i){
    for (let index = 0; index <i; index++) {
        let container = document.querySelector('.container')
        container.innerHTML+=`<div id="main${index+1}" class="item" ></div>`       
    }
}

function demo(array,main,title,name_x,name_y,max_y,num_error,warn){
var chartDom = document.getElementById(main);
var myChart = echarts.init(chartDom);
var option;
let indexList = []
for(var i =1;i<array.length;i++){
    indexList.push(i)
}

option = {
    title:{
show:true,
text:title,
top:'90%',
left:'15%',
textStyle:{
    fontSize :22
}
    },
  tooltip: {
    show: false,
    trigger: "axis",
  },
//x轴的数据
  xAxis: {
    type: "category",//value数值,category种类
    axisLabel: { show: false,showMaxLabel:false },//轴隐藏
    data: indexList,//x数据
    name: name_x,//x名字
    axisLine: { symbol: ["none", "arrow"] },//箭头
    axisTick:{show:false}
    
  },
  yAxis: {
    show:true,
    type: "value",//type
    name: name_y,//y名字
    //boundaryGap:[0,0.5],
    axisLine: { symbol: ["none", "arrow"],show:true, },
    axisLabel:{show:true,
        interval:2,
        showMaxLabel:true,  
        //获取最大值和最小值
        formatter:function (value,index){
            if(index==0){
                return value
            }
            if(index==5){
                return value
            }
           
        }       
    },
    axisTick:{show:false},
    max:max_y,
  },
  //数据
  series: [
    {
      data: array,
      type: "line",//
      smooth: true,
    //   showSymbol:false, //坐标点隐藏
      itemStyle: {
        normal: {
          label: {
            show: true,//显示坐标数值
            position:'top',
            color:'#000',
          },
        },
      },
      lineStyle:{
        normal:{
            color:'#000'
        }
      },
      markLine: {
        symbol: ["none", "none"], //['none']表示是一条横线;['arrow', 'none']表示线的左边是箭头,右边没右箭头;['none','arrow']表示线的左边没有箭头,右边有箭头
        label: {
          position: "start", //将警示值放在哪个位置,三个值“start”,"middle","end" 开始 中点 结束
        },
        data: [
          {
            silent: false, //鼠标悬停事件 true没有,false有
            lineStyle: {
              //警戒线的样式 ,虚实 颜色
              type: "solid", //样式  ‘solid’和'dotted'
              color: "#FA3934",
              width: 3, //宽度
            },
            yAxis:num_error, // 警戒线的标注值,可以有多个yAxis,多条警示线 或者采用 {type : 'average', name: '平均值'},type值有 max min average,分为最大,最小,平均值
          },
        ],
      },

    },
  ],
};
if(warn==false){
    delete option.series[0].markLine
}
console.log(option.series[0])
option && myChart.setOption(option);
}


demo(array,main,title,name_x,name_y,max_y,num_error,warn)

  • array是y轴数值
  • main是获取div的id
  • title是折线图的名字
  • name_x是x轴的单位
  • name_y是y轴的单位
  • max_y是y轴的最大值
  • nun_error是警戒线的y轴值
  • warn是是否隐藏警戒线

add(array_number)
array_number是图表的个数

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值