From 1d5a80ab345e3c35326489e6f9094fe81d536fbb Mon Sep 17 00:00:00 2001
From: Giacomo Strangolino <giacomo.strangolino@elettra.eu>
Date: Wed, 7 Jul 2021 13:36:11 +0200
Subject: [PATCH] try fix shrinking scales

---
 src/i0mmtopobarchart.cpp | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/i0mmtopobarchart.cpp b/src/i0mmtopobarchart.cpp
index 30e518d..dac6d87 100644
--- a/src/i0mmtopobarchart.cpp
+++ b/src/i0mmtopobarchart.cpp
@@ -134,9 +134,11 @@ void I0MMTopoBarChart::update(const QList<CuData> &dl) {
 
     m_error(error); // show or hide error message
     m_cur_data = dl; // save data
-    m_min = m_min - (m_max-m_min) * 0.01; m_max = m_max + (m_max-m_min) * 0.01;
+    const double d = m_max - m_min;
+    m_min = m_min - d * 0.01; m_max = m_max + d * 0.01;
     if(m_min <= 0 && m_barchart->baseline() > 0) m_min= 0.01; // log scale
-    setAxisScale(QwtPlot::xBottom, m_min, m_max);
+    if(axisScaleDiv(QwtPlot::xBottom).lowerBound() != m_min || axisScaleDiv(QwtPlot::xBottom).upperBound() != m_max)
+        setAxisScale(QwtPlot::xBottom, m_min, m_max);
 }
 
 void I0MMTopoBarChart::clear() {
-- 
GitLab