diff --git a/src/axis/chartaxis.cpp b/src/axis/chartaxis.cpp index 208e894..b5125a7 100644 --- a/src/axis/chartaxis.cpp +++ b/src/axis/chartaxis.cpp @@ -25,6 +25,7 @@ #include "domain_p.h" #include #include +#include QTCOMMERCIALCHART_BEGIN_NAMESPACE @@ -360,9 +361,13 @@ void ChartAxis::createNumberLabels(QStringList &labels,qreal min, qreal max, int int n = qMax(int(-qFloor(log10((max-min)/(ticks-1)))),0); n++; + + QValueAxis *axis = qobject_cast(m_chartAxis); + QByteArray array = axis->labelFormat().toAscii(); for (int i=0; i< ticks; i++) { qreal value = min + (i * (max - min)/ (ticks-1)); - labels << QString::number(value,'f',n); + QString label; + labels << label.sprintf(array, value);; } } diff --git a/src/axis/valueaxis/qvalueaxis.cpp b/src/axis/valueaxis/qvalueaxis.cpp index c137bf9..68bff02 100644 --- a/src/axis/valueaxis/qvalueaxis.cpp +++ b/src/axis/valueaxis/qvalueaxis.cpp @@ -248,6 +248,18 @@ bool QValueAxis::niceNumbersEnabled() const return d->m_niceNumbers; } +void QValueAxis::setLabelFormat(const QString &format) +{ + Q_D(QValueAxis); + d->m_format = format; +} + +QString QValueAxis::labelFormat() const +{ + Q_D(const QValueAxis); + return d->m_format; +} + /*! Returns the type of the axis */ @@ -263,7 +275,8 @@ QValueAxisPrivate::QValueAxisPrivate(QValueAxis* q): m_min(0), m_max(0), m_tickCount(5), - m_niceNumbers(false) + m_niceNumbers(false), + m_format("%g") { } diff --git a/src/axis/valueaxis/qvalueaxis.h b/src/axis/valueaxis/qvalueaxis.h index 854b241..7434beb 100644 --- a/src/axis/valueaxis/qvalueaxis.h +++ b/src/axis/valueaxis/qvalueaxis.h @@ -56,6 +56,9 @@ public: void setTickCount(int count); int tickCount() const; + void setLabelFormat(const QString &format); + QString labelFormat() const; + void setNiceNumbersEnabled(bool enable = true); bool niceNumbersEnabled() const; diff --git a/src/axis/valueaxis/qvalueaxis_p.h b/src/axis/valueaxis/qvalueaxis_p.h index 65e81b4..3dcd1ab 100644 --- a/src/axis/valueaxis/qvalueaxis_p.h +++ b/src/axis/valueaxis/qvalueaxis_p.h @@ -64,6 +64,7 @@ private: qreal m_max; int m_tickCount; bool m_niceNumbers; + QString m_format; Q_DECLARE_PUBLIC(QValueAxis) };