From 0bc6e0dc466e9efcea6773b4017eddc5ee88a0ca Mon Sep 17 00:00:00 2001 From: Dean Lee Date: Fri, 7 Oct 2022 04:35:56 +0800 Subject: [PATCH] cabana: Fix the incorrect Y axis (#25984) old-commit-hash: 2d9e7972598918a72de736e12edbc2967d77e841 --- tools/cabana/chartswidget.cc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/cabana/chartswidget.cc b/tools/cabana/chartswidget.cc index a504250e6d..f964e5606a 100644 --- a/tools/cabana/chartswidget.cc +++ b/tools/cabana/chartswidget.cc @@ -136,6 +136,7 @@ void ChartWidget::updateSeries() { vals.clear(); vals.reserve(3 * 60 * 100); + double min_y = 0, max_y = 0; uint64_t route_start_time = parser->replay->routeStartTime(); for (auto &evt : *events) { if (evt->which == cereal::Event::Which::CAN) { @@ -147,6 +148,9 @@ void ChartWidget::updateSeries() { val -= ((val >> (sig->size - 1)) & 0x1) ? (1ULL << sig->size) : 0; } double value = val * sig->factor + sig->offset; + if (value < min_y) min_y = value; + if (value > max_y) max_y = value; + double ts = (evt->mono_time - route_start_time) / (double)1e9; // seconds vals.push_back({ts, value}); } @@ -157,6 +161,7 @@ void ChartWidget::updateSeries() { series->replace(vals); auto [begin, end] = parser->range(); chart_view->chart()->axisX()->setRange(begin, end); + chart_view->chart()->axisY()->setRange(min_y * 0.95, max_y * 1.05); } void ChartWidget::rangeChanged(qreal min, qreal max) {