summaryrefslogtreecommitdiffstats
path: root/src/charts/axis/logvalueaxis/chartlogvalueaxisx.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@theqtcompany.com>2015-09-30 14:41:54 +0300
committerMiikka Heikkinen <miikka.heikkinen@theqtcompany.com>2015-10-01 07:51:44 +0000
commite6f5cbaa5aca45562fe9bee473d7d76bf67cd54c (patch)
tree2a5d09bdcde1502844f978f49fb4dfa0bc0081cd /src/charts/axis/logvalueaxis/chartlogvalueaxisx.cpp
parent7a48aa2a436d63737514f6a32129b7eacc77dcb7 (diff)
Draw the tick and label on logaxis when tick is exactly at high edge
Change-Id: I84afe69868a5ffeaf7f3ef6f9682d8a7fcea3872 Reviewed-by: Titta Heikkala <titta.heikkala@theqtcompany.com>
Diffstat (limited to 'src/charts/axis/logvalueaxis/chartlogvalueaxisx.cpp')
-rw-r--r--src/charts/axis/logvalueaxis/chartlogvalueaxisx.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/charts/axis/logvalueaxis/chartlogvalueaxisx.cpp b/src/charts/axis/logvalueaxis/chartlogvalueaxisx.cpp
index 01ac498b..c1a247fa 100644
--- a/src/charts/axis/logvalueaxis/chartlogvalueaxisx.cpp
+++ b/src/charts/axis/logvalueaxis/chartlogvalueaxisx.cpp
@@ -49,6 +49,11 @@ QVector<qreal> ChartLogValueAxisX::calculateLayout() const
qreal ceilEdge = qCeil(leftEdge);
int tickCount = qAbs(qCeil(logMax) - qCeil(logMin));
+ // If the high edge sits exactly on the tick value, add a tick
+ qreal highValue = logMin < logMax ? logMax : logMin;
+ if (qFuzzyCompare(highValue, qreal(qCeil(highValue))))
+ tickCount++;
+
points.resize(tickCount);
const QRectF &gridRect = gridGeometry();
const qreal deltaX = gridRect.width() / qAbs(logMax - logMin);
@@ -90,6 +95,12 @@ QSizeF ChartLogValueAxisX::sizeHint(Qt::SizeHint which, const QSizeF &constraint
qreal logMax = std::log10(m_axis->max()) / std::log10(m_axis->base());
qreal logMin = std::log10(m_axis->min()) / std::log10(m_axis->base());
int tickCount = qAbs(qCeil(logMax) - qCeil(logMin));
+
+ // If the high edge sits exactly on the tick value, add a tick
+ qreal highValue = logMin < logMax ? logMax : logMin;
+ if (qFuzzyCompare(highValue, qreal(qCeil(highValue))))
+ tickCount++;
+
if (m_axis->max() > m_axis->min() && tickCount > 0)
ticksList = createLogValueLabels(m_axis->min(), m_axis->max(), m_axis->base(), tickCount, m_axis->labelFormat());
else