import React, { useMemo } from 'react'; import echarts from 'echarts/lib/echarts'; import ReactEcharts from 'echarts-for-react'; const pallete = [ ['#177ab3', '#51c3e7'], ['#9976dc', '#c792ee'], ['#94a1eb', '#a7caf8'], ['#7ae5c3', '#c9f4ea'], ['#c7dca5', '#f5fcd5'], ['#7988d9', '#9dc6f1'], ['#d9ed8f', '#d3f89b'], ]; const palleteLen = pallete.length; const AreaDrpChart = () => { const x = [ "2025-06-02 15:00:00", "2025-06-02 16:00:00", "2025-06-02 17:00:00", "2025-06-02 18:00:00", "2025-06-02 19:00:00", "2025-06-02 20:00:00", "2025-06-02 21:00:00", "2025-06-03 01:00:00", "2025-06-03 02:00:00", "2025-06-03 04:00:00", "2025-06-03 06:00:00", "2025-06-03 08:00:00", "2025-06-03 10:00:00", "2025-06-03 12:00:00", "2025-06-03 13:00:00", "2025-06-03 14:00:00" ] const y = [ 24.05, 22.04, 21.03, 24.03, 25.02, 25.02, 27.02, 28, 27.99, 29.99, 27.97, 28.97, 29.97, 28.98, 27.97, 29.97 ] const y1 = [ 23.05, 24.04, 24.03, 24.03, 23.02, 23.02, 23.02, 24, 23.99, 23.99, 23.97, 23.97, 23.97, 23.98, 23.97, 23.97 ] const y2 = [ 23.05, 23.24, 23.53, 23.43, 23.02, 23.22, 23.02, 23, 23.19, 23.29, 23.57, 23.57, 23.67, 23.78, 23.87, 23.67 ] const y3 = [ 14.05, 12.24, 13.53, 13.43, 14.02, 13.22, 14.02, 15, 16.19, 15.29, 17.57, 18.57, 18.67, 19.78, 18.87, 18.67 ] var option = { tooltip: { trigger: 'axis', axisPointer: { type: 'shadow', label: { show: false } }, // valueFormatter: (value) => value + ' 万m³' }, grid: { top: 42, left: 50, right: 40, bottom: 27, }, legend: { data: ['水文预报','全局优先', '兴利优先','实时监测'], top: '8', icon:'circle', left: 'center', itemWidth: 11,//11, itemHeight: 11,//11, textStyle: { color: '#B9BFC9', fontSize: 12,//12 } }, xAxis: [ { type: 'category', data: x, splitLine: { show: true, //隐藏X轴轴线 lineStyle: { color: 'rgba(255,255,255,0.2)', width: 0 } }, axisLabel: { show: true, textStyle: { color: '#B9BFC9' //X轴文字颜色 }, formatter: val => val.substr('2020-10-14 '.length, 5), // rotate: 20, // 角度值:Number fontSize: 10,//10 }, axisLine: { show: true, //隐藏X轴轴线 lineStyle: { color: 'rgba(255,255,255,0.2)', width: 0 } }, axisTick: { show: true, } } ], yAxis: [ { type: 'value', position: 'left', name: '流量', nameTextStyle: { color: '#B9BFC9', fontSize: 10,//10, padding: [0, 0, 0, -40],//[0, 0, 0, -30]//控制y轴标题位置 }, nameGap: 17, splitLine: { show: true, lineStyle: { width: 1, color: 'rgba(255,255,255,0.2)' } }, axisLabel: { show: true, textStyle: { color: '#B9BFC9', fontSize: 11,//11 } }, axisLine: { show: false }, axisTick: { show: false, }, min: 5, // max: 135, } ], series: [ { name: '水文预报', type: 'line', barWidth: 10, data: y, showSymbol: false, itemStyle: { normal: { color: '#32e1b5' }, }, // label: { // show: true, // position: 'top', // color: '#bbb', // fontSize: 12, // textShadowBlur: 4, // textShadowColor: '#6ab', // }, }, { name: '全局优先', type: 'line', barWidth: 10, showSymbol: false, data: y1, itemStyle: { normal: { color: '#f19932' }, }, // label: { // show: true, // position: 'top', // color: '#bbb', // fontSize: 12, // textShadowBlur: 4, // textShadowColor: '#6ab', // }, }, { name: '兴利优先', type: 'line', barWidth: 10, showSymbol: false, data: y2, itemStyle: { normal: { color: '#e1554e' }, }, // label: { // show: true, // position: 'top', // color: '#bbb', // fontSize: 12, // textShadowBlur: 4, // textShadowColor: '#6ab', // }, }, { name: '实时监测', type: 'line', barWidth: 10, showSymbol: false, data: y3, itemStyle: { normal: { color: '#e1554e' }, }, // label: { // show: true, // position: 'top', // color: '#bbb', // fontSize: 12, // textShadowBlur: 4, // textShadowColor: '#6ab', // }, } ] }; return ( ) } export default React.memo(AreaDrpChart);