diff options
author | Tomi Korpipää <tomi.korpipaa@digia.com> | 2013-10-30 11:24:24 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-10-30 11:41:47 +0200 |
commit | 1eefb471180746dda5882344deecd750305fea21 (patch) | |
tree | 29eb520aa36fdcb38930bb7bdc037f2481e5dda1 /src/datavisualization/engine/bars3dcontroller.cpp | |
parent | 897922a711bacea0aceef657e5f62821784eccd8 (diff) |
Support for non-zero centered data in bars
Task-number: QTRD-2198
Change-Id: Ief48895d93ac9a8ab70743f3da0fdaf7ccd6ea27
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'src/datavisualization/engine/bars3dcontroller.cpp')
-rw-r--r-- | src/datavisualization/engine/bars3dcontroller.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/datavisualization/engine/bars3dcontroller.cpp b/src/datavisualization/engine/bars3dcontroller.cpp index dc1a9401..6d1ebbae 100644 --- a/src/datavisualization/engine/bars3dcontroller.cpp +++ b/src/datavisualization/engine/bars3dcontroller.cpp @@ -396,16 +396,15 @@ void Bars3DController::adjustAxisRanges() Q3DValueAxis *valueAxis = static_cast<Q3DValueAxis *>(m_axisY); if (valueAxis && categoryAxisX && categoryAxisZ && valueAxis->isAutoAdjustRange() && proxy) { QPair<GLfloat, GLfloat> limits = proxy->dptrc()->limitValues(categoryAxisX->min(), - categoryAxisX->max(), - categoryAxisZ->min(), - categoryAxisZ->max()); + categoryAxisX->max(), + categoryAxisZ->min(), + categoryAxisZ->max()); if (limits.first < 0) { - // TODO: Currently we only support symmetric y-axis for bar graph if there are negative values - qreal maxAbs = qMax(qFabs(limits.first), qFabs(limits.second)); // Call private implementation to avoid unsetting auto adjust flag - valueAxis->dptr()->setRange(-maxAbs, maxAbs); + valueAxis->dptr()->setRange(limits.first, limits.second); } else if (limits.second == 0.0) { - valueAxis->dptr()->setRange(0.0, 1.0); // Only zero value values in data set, set range to something. + // Only zero value values in data set, set range to something. + valueAxis->dptr()->setRange(0.0, 1.0); } else { valueAxis->dptr()->setRange(0.0, limits.second); } |