From 2026a1b454dc8642e7106efe5bc8d782d7f34d91 Mon Sep 17 00:00:00 2001 From: Dean Lee Date: Wed, 1 Mar 2023 15:41:28 +0800 Subject: [PATCH] cabana: recalc y-axis label width after unit change (#27466) recalc width old-commit-hash: 85a37d276c105494b97eee03aa6bb31a212f2f92 --- tools/cabana/chartswidget.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tools/cabana/chartswidget.cc b/tools/cabana/chartswidget.cc index 42f8e4e06a..2c27fbd8b9 100644 --- a/tools/cabana/chartswidget.cc +++ b/tools/cabana/chartswidget.cc @@ -591,11 +591,14 @@ void ChartView::updateAxisY() { if (it->y() > max) max = it->y(); } } - axis_y->setTitleText(unit); - if (min == std::numeric_limits::max()) min = 0; if (max == std::numeric_limits::lowest()) max = 0; + if (axis_y->titleText() != unit) { + axis_y->setTitleText(unit); + y_label_width = 0;// recalc width + } + double delta = std::abs(max - min) < 1e-3 ? 1 : (max - min) * 0.05; auto [min_y, max_y, tick_count] = getNiceAxisNumbers(min - delta, max + delta, axis_y->tickCount()); if (min_y != axis_y->min() || max_y != axis_y->max() || y_label_width == 0) {