SOURCE

console 命令行工具 X clear

                    
>
console
<!DOCTYPE html>
<html>

<head>
	<meta charset="utf-8" />
	<title>ECharts</title>
</head>

<body>
	<!-- 为 ECharts 准备一个定义了宽高的 DOM -->
	<div id="main" style="width: 100%;height:600px;"></div>
	<script type="text/javascript">
     var chartDom = document.getElementById('main');
    var myChart = echarts.init(chartDom);
    var option;
let z = 1230.6 //需要测管水位或者库上水位来比对画图
let series_data = []
let x0 = 80 //起始下坡x
let maxX = 150 //
let v1 = 2; //管数
let miny = z*0.9 //取测验管水位最小0.9 为显示缝隙
let y0 = 1200 
y0 = Math.floor(z*1.2) 
var m = getSlope(x0,maxX,y0,miny) //斜率
let splitNum = Math.floor((maxX-x0)/(v1+1))
let splitArr = [] //管位置
for(let i=1;i<=v1;i++){
    splitArr.push(x0+splitNum*i)
}
console.log(splitNum,splitArr)
//计算第一下大坝坡斜率
var m2 = getSlope(x0-24-6,x0-24,0,y0)
console.log(m,m2)
for(let i=0;i<=maxX;i++){
    if(i>=x0-24-6 &&i<x0-24){
    series_data.push([i,calculateYFromX(x0-24-6,i,m2,0)])
    }
    else if(i>=x0-24 && i<x0){
      series_data.push([i,y0])
    }
    else if(i>=x0){
        if(splitArr.includes(i)){
        series_data.push([i,null])
        }else{
        series_data.push([i,calculateYFromX(x0,i,m,y0)])
        }
    }
}
option = {
 tooltip: {
    trigger: 'axis'
  },
  xAxis: {
    type: 'value',
  },
  yAxis: {
    type: 'value'
  },
  series: [
    {
         z: 2,
        name: '',
        stack: 'Total1',
        // tooltip: {
        //     show: false
        // },
        showSymbol: false, //隐藏点
        lineStyle: {
            width: 0
            },
      data: series_data,
      type: 'line',
      areaStyle: {
              opacity: 1.6,
              color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                {
                  offset: 0,
                  color: 'rgb(168, 184, 195)'
                },
                {
                  offset: 1,
                  color: 'rgb(107, 119, 127)'
                }
              ])
            }
    }
  ]
};

option && myChart.setOption(option);


option && myChart.setOption(option);

function calculateYFromX(x0,x, m, y0) {
    let y = m * (x - x0) + y0; // 使用斜率公式计算 y 值
    if(y<0){
        y = 0
    }
    return y.toFixed(2)
}
function getSlope(x0, x1, y0,y1) {
    return (y0-y1)/(x0-x1)
}
	</script>
</body>

</html>

本项目引用的自定义外部资源