From 9a38c279ab448aeae760c7cc0e5148b9bba525de Mon Sep 17 00:00:00 2001 From: tanlinxing Date: Thu, 1 Aug 2024 14:43:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=A9=E7=A9=BA=E5=9B=BE=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/quality/chartpart.dart | 36 +++++++++++++----------------------- 1 file changed, 13 insertions(+), 23 deletions(-) diff --git a/lib/quality/chartpart.dart b/lib/quality/chartpart.dart index 2f07392..7b6c1af 100644 --- a/lib/quality/chartpart.dart +++ b/lib/quality/chartpart.dart @@ -18,50 +18,40 @@ const List signalColorList = [ ]; class ChartPart extends StatelessWidget { + final List?> signalGNSS; late final GnssController controller; final List signalColorList; // 接收每个组的颜色 -final List QselectedSignal; // 新增变量,用于跟踪选中的信号 + List signalGPS = []; // 用于存储每个组的信号数据 + List QselectedSignal; // 新增变量,用于跟踪选中的信号 ChartPart({super.key}) { controller = Get.find(); } List checkSVData = []; - final signalGNSS = [ - controller.signalData?.GPS, - controller.signalData?.GLO, - controller.signalData?.GAL, - controller.signalData?.BDS, - controller.signalData?.QZSS, - ]; double maxY = 0; int maxX = 10; double xLength = 0; - int? i; // 新增变量,用于跟踪选中的按钮索引 @override void drawBarChart( Canvas canvas, Size size, - int index, Paint paint, ) { - if(QselectedSignal[index]){ - paint.color = signalColorList[index]; - for (final signal in signalGNSS[index]) { - for (int i = 0; i < signals.length; i++) { - SvItem item = svData[i]; - if (item.l1 == 0 && - item.l2 == 0 && - item.l3 == 0 && - item.l4 == 0 && - item.l5 == 0) { + if(QselectedSignal[0]){ + for (final signal in SignalGPS) { + for (int i = 0; i < signal.length; i++) { + SignalGPS signalGPS=signal[i]; + if (signalGPS.snrL1 == 0 && + signalGPS.snrL2 == 0 && + signalGPS.snrL5 == 0) { continue; } - maxX = max(maxX, item.sn); - List listy = [item.l1, item.l2, item.l3, item.l4, item.l5]; + maxX = max(maxX, signalGPS.sn); + List listy = [signalGPS.snrL1, signalGPS.snrL2, signalGPS.snrL5]; int maxItem = listy.reduce(max); maxY = max(maxY, maxItem.toDouble()); - checkSVData.add(makeGroupData(i + 1, listy, signalQualityItem.color)); + checkSVData.add(makeGroupData(i + 1, listy, signalColorList[0])); xLength++;} // svData = List.from(controller.svData)