diff --git a/src/axis/categoriesaxis/chartcategoriesaxisx.cpp b/src/axis/categoriesaxis/chartcategoriesaxisx.cpp index fdffe51..1b3e35b 100644 --- a/src/axis/categoriesaxis/chartcategoriesaxisx.cpp +++ b/src/axis/categoriesaxis/chartcategoriesaxisx.cpp @@ -41,14 +41,14 @@ ChartCategoriesAxisX::~ChartCategoriesAxisX() QVector ChartCategoriesAxisX::calculateLayout() const { - Q_ASSERT(m_categoriesAxis->categories().count()>=2); + Q_ASSERT(m_categoriesAxis->categories().count()>=1); QVector points; - points.resize(m_categoriesAxis->categories().count()); + points.resize(m_categoriesAxis->categories().count()+1); // TODO: shift logic - const qreal deltaX = m_rect.width()/(m_categoriesAxis->categories().count()-1); - for (int i = 0; i < m_categoriesAxis->categories().count(); ++i) { + const qreal deltaX = m_rect.width()/(m_categoriesAxis->categories().count()); + for (int i = 0; i < m_categoriesAxis->categories().count()+1; ++i) { int x = i * deltaX + m_rect.left(); points[i] = x; } @@ -73,8 +73,8 @@ void ChartCategoriesAxisX::updateGeometry() QList shades = m_shades->childItems(); QList axis = m_axis->childItems(); - Q_ASSERT(labels.size() == ticksList.size()); - Q_ASSERT(layout.size() == ticksList.size()); + Q_ASSERT(labels.size()-1 == ticksList.size()); + Q_ASSERT(layout.size()-1 == ticksList.size()); QGraphicsLineItem *lineItem = static_cast(axis.at(0)); lineItem->setLine(m_rect.left(), m_rect.bottom(), m_rect.right(), m_rect.bottom()); diff --git a/src/axis/categoriesaxis/chartcategoriesaxisy.cpp b/src/axis/categoriesaxis/chartcategoriesaxisy.cpp index af3aa83..9b0f78d 100644 --- a/src/axis/categoriesaxis/chartcategoriesaxisy.cpp +++ b/src/axis/categoriesaxis/chartcategoriesaxisy.cpp @@ -41,13 +41,13 @@ ChartCategoriesAxisY::~ChartCategoriesAxisY() QVector ChartCategoriesAxisY::calculateLayout() const { - Q_ASSERT(m_categoriesAxis->categories().count()>=2); + Q_ASSERT(m_categoriesAxis->categories().count()>=1); QVector points; - points.resize(m_categoriesAxis->categories().count()); + points.resize(m_categoriesAxis->categories().count()+1); - const qreal deltaY = m_rect.height()/(m_categoriesAxis->categories().count()-1); - for (int i = 0; i < m_categoriesAxis->categories().count(); ++i) { + const qreal deltaY = m_rect.height()/(m_categoriesAxis->categories().count()); + for (int i = 0; i < m_categoriesAxis->categories().count()+1; ++i) { int y = i * -deltaY + m_rect.bottom(); points[i] = y; } @@ -73,8 +73,8 @@ void ChartCategoriesAxisY::updateGeometry() QList shades = m_shades->childItems(); QList axis = m_axis->childItems(); - Q_ASSERT(labels.size() == ticksList.size()); - Q_ASSERT(layout.size() == ticksList.size()); + Q_ASSERT(labels.size()-1 == ticksList.size()); + Q_ASSERT(layout.size()-1 == ticksList.size()); QGraphicsLineItem *lineItem = static_cast(axis.at(0)); lineItem->setLine(m_rect.left() , m_rect.top(), m_rect.left(), m_rect.bottom()); diff --git a/src/axis/categoriesaxis/qbarcategoriesaxis.cpp b/src/axis/categoriesaxis/qbarcategoriesaxis.cpp index 351e4fb..0fb0342 100644 --- a/src/axis/categoriesaxis/qbarcategoriesaxis.cpp +++ b/src/axis/categoriesaxis/qbarcategoriesaxis.cpp @@ -342,7 +342,7 @@ void QBarCategoriesAxisPrivate::setRange(const QVariant &min, const QVariant &ma qreal QBarCategoriesAxisPrivate::min() { //TODO:: cache it - return m_categories.indexOf(m_minCategory) + 0.5; + return m_categories.indexOf(m_minCategory) - 0.5; } qreal QBarCategoriesAxisPrivate::max() diff --git a/src/barchart/qabstractbarseries.cpp b/src/barchart/qabstractbarseries.cpp index deabc73..9626907 100644 --- a/src/barchart/qabstractbarseries.cpp +++ b/src/barchart/qabstractbarseries.cpp @@ -706,9 +706,11 @@ void QAbstractBarSeriesPrivate::initializeAxis(QAbstractAxis* axis) QBarCategoriesAxis* cataxis = qobject_cast(axis); Q_ASSERT(cataxis); QStringList categories; + if(cataxis->categories().isEmpty()){ for (int i(1); i < categoryCount()+1; i++) categories << QString::number(i); cataxis->append(categories); + } } } diff --git a/src/barchart/qhorizontalbarseries.cpp b/src/barchart/qhorizontalbarseries.cpp index e69c4b5..d29daaf 100644 --- a/src/barchart/qhorizontalbarseries.cpp +++ b/src/barchart/qhorizontalbarseries.cpp @@ -68,9 +68,11 @@ void QHorizontalBarSeriesPrivate::initializeAxis(QAbstractAxis* axis) QBarCategoriesAxis* cataxis = qobject_cast(axis); Q_ASSERT(cataxis); QStringList categories; + if(cataxis->categories().isEmpty()){ for (int i(1); i < categoryCount()+1; i++) categories << QString::number(i); cataxis->append(categories); + } } } diff --git a/src/barchart/qhorizontalpercentbarseries.cpp b/src/barchart/qhorizontalpercentbarseries.cpp index 69db799..0de64d9 100644 --- a/src/barchart/qhorizontalpercentbarseries.cpp +++ b/src/barchart/qhorizontalpercentbarseries.cpp @@ -56,16 +56,6 @@ Chart* QHorizontalPercentBarSeriesPrivate::createGraphics(ChartPresenter* presen return bar; } -QAbstractAxis::AxisType QHorizontalPercentBarSeriesPrivate::defaultAxisXType() const -{ - return QAbstractAxis::AxisTypeValues; -} - -QAbstractAxis::AxisType QHorizontalPercentBarSeriesPrivate::defaultAxisYType() const -{ - return QAbstractAxis::AxisTypeCategories; -} - #include "moc_qhorizontalpercentbarseries.cpp" diff --git a/src/barchart/qhorizontalpercentbarseries_p.h b/src/barchart/qhorizontalpercentbarseries_p.h index b52dc4a..6b6c104 100644 --- a/src/barchart/qhorizontalpercentbarseries_p.h +++ b/src/barchart/qhorizontalpercentbarseries_p.h @@ -41,8 +41,6 @@ public: QHorizontalPercentBarSeriesPrivate(QHorizontalPercentBarSeries* q); Chart* createGraphics(ChartPresenter* presenter); void scaleDomain(Domain& domain); - QAbstractAxis::AxisType defaultAxisXType() const; - QAbstractAxis::AxisType defaultAxisYType() const; private: Q_DECLARE_PUBLIC(QHorizontalPercentBarSeries) diff --git a/src/chartdataset.cpp b/src/chartdataset.cpp index 1db16fa..ce4b9c1 100644 --- a/src/chartdataset.cpp +++ b/src/chartdataset.cpp @@ -380,7 +380,6 @@ void ChartDataSet::setAxis(QAbstractSeries *series, QAbstractAxis *axis, Qt::Ori if(orientation==Qt::Vertical) { seriesAxisMap= &m_seriesAxisYMap; - }else{ seriesAxisMap= &m_seriesAxisXMap; }