import React from 'react'; import ReactECharts from 'echarts-for-react'; const WaterSourceChart = () => { const dates = ['2025-06-01', '2025-06-02', '2025-06-03', '2025-06-04', '2025-06-05', '2025-06-06']; const waterSources = ['浮桥河水库', '长冲水库', '葡萄冲水库', '二五冲水库']; // 使用固定的示例数据 const series = [ { name: '浮桥河水库', type: 'bar', stack: 'total', barWidth: 30, emphasis: { focus: 'series' }, data: [15, 18, 12, 20, 16, 22] }, { name: '长冲水库', type: 'bar', stack: 'total', barWidth: 30, emphasis: { focus: 'series' }, data: [10, 12, 8, 15, 11, 14] }, { name: '葡萄冲水库', type: 'bar', stack: 'total', barWidth: 30, emphasis: { focus: 'series' }, data: [8, 10, 6, 12, 9, 11] }, { name: '二五冲水库', type: 'bar', stack: 'total', barWidth: 30, emphasis: { focus: 'series' }, data: [5, 7, 4, 8, 6, 9] } ]; const option = { tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' }, formatter: function (params) { let total = 0; let result = `${params[0].axisValue}
`; // 按数值从大到小排序并只显示有预警的水源地 const sortedParams = params .filter(param => param.value > 0) .sort((a, b) => b.value - a.value); sortedParams.forEach(param => { total += param.value; result += `${param.seriesName}: ${param.value}
`; }); result += `总计: ${total}`; return result; } }, legend: { data: waterSources, top: 10, textStyle: { color: '#fff' } }, grid: { left: '3%', right: '4%', bottom: '3%', top: '15%', containLabel: true }, xAxis: { type: 'category', data: dates, axisLabel: { color: '#fff', rotate: 45 }, axisLine: { lineStyle: { color: '#fff' } } }, yAxis: { type: 'value', name: '预警数量', nameTextStyle: { color: '#fff' }, axisLabel: { color: '#fff' }, axisLine: { lineStyle: { color: '#fff' } }, splitLine: { lineStyle: { type: 'dashed', color: 'rgba(255, 255, 255, 0.2)' } } }, series: series, color: ['#fac858', '#ee6666', '#73c0de', '#3ba272'] }; return (
); }; export default WaterSourceChart;