diff --git a/core/include/Data/DataSeries.h b/core/include/Data/DataSeries.h index c258397..2087a94 100644 --- a/core/include/Data/DataSeries.h +++ b/core/include/Data/DataSeries.h @@ -193,6 +193,9 @@ public: /// @sa IDataSeries::xAxisUnit() Unit xAxisUnit() const override { return m_XAxisUnit; } + /// @sa IDataSeries::yAxisUnit() + Unit yAxisUnit() const override { return m_YAxis.unit(); } + /// @return the values dataset std::shared_ptr > valuesData() { return m_ValuesData; } const std::shared_ptr > valuesData() const { return m_ValuesData; } @@ -202,6 +205,8 @@ public: int nbPoints() const override { return m_ValuesData->totalSize(); } + std::pair yBounds() const override { return m_YAxis.bounds(); } + void clear() { m_XAxisData->clear(); @@ -384,8 +389,8 @@ public: } /// @return the y-axis associated to the data series - /// @todo pass getter as protected and use iterators to access the y-axis data - OptionalAxis yAxis() const { return m_YAxis; } + const OptionalAxis &yAxis() const { return m_YAxis; } + OptionalAxis &yAxis() { return m_YAxis; } // /////// // // Mutexes // diff --git a/core/include/Data/IDataSeries.h b/core/include/Data/IDataSeries.h index 44ed1dd..c16f6c4 100644 --- a/core/include/Data/IDataSeries.h +++ b/core/include/Data/IDataSeries.h @@ -39,6 +39,9 @@ public: virtual Unit xAxisUnit() const = 0; + /// @return the y-axis unit, if axis is defined, default unit otherwise + virtual Unit yAxisUnit() const = 0; + virtual Unit valuesUnit() const = 0; virtual void merge(IDataSeries *dataSeries) = 0; @@ -53,6 +56,9 @@ public: /// @return the total number of points contained in the data series virtual int nbPoints() const = 0; + /// @return the bounds of the y-axis axis (if defined) + virtual std::pair yBounds() const = 0; + // ///////// // // Iterators // // ///////// // diff --git a/gui/src/Visualization/AxisRenderingUtils.cpp b/gui/src/Visualization/AxisRenderingUtils.cpp index 869fbbc..4f300b9 100644 --- a/gui/src/Visualization/AxisRenderingUtils.cpp +++ b/gui/src/Visualization/AxisRenderingUtils.cpp @@ -101,8 +101,7 @@ struct AxisSettersetRange(QCPRange{min, max});