diff options
author | Mika Salmela <mika.salmela@digia.com> | 2013-06-05 14:58:46 +0300 |
---|---|---|
committer | Mika Salmela <mika.salmela@digia.com> | 2013-06-05 15:17:27 +0300 |
commit | 93cea193b2c20bccdb06ab5a6b2cf00837418fdf (patch) | |
tree | 9f09c8d3f70d78d4bbc2f8fc6a94a1c62b3e5047 /tests | |
parent | 88de94358c2ebd589043b30332e8add4741d3aee (diff) |
Changed BoxPlot to use domain for calculating geometry points.
Change-Id: I14e5db7a4be7afd406e36eac758d8341d707f37f
Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/boxplottester/mainwidget.cpp | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/tests/boxplottester/mainwidget.cpp b/tests/boxplottester/mainwidget.cpp index 17227ae9..25b52453 100644 --- a/tests/boxplottester/mainwidget.cpp +++ b/tests/boxplottester/mainwidget.cpp @@ -43,15 +43,17 @@ #include <QDebug> #include <QStandardItemModel> #include <QBarCategoryAxis> - +#include <QLogValueAxis> QTCOMMERCIALCHART_USE_NAMESPACE QString addCategories[] = {"Jul", "Aug", "Sep", "Nov", "Dec"}; +static const int maxAddCategories = 5; MainWidget::MainWidget(QWidget *parent) : QWidget(parent), m_chart(0), + m_axis(0), rowPos(0), nSeries(0), nNewBoxes(0) @@ -124,7 +126,6 @@ MainWidget::MainWidget(QWidget *parent) : // Create chart view with the chart m_chartView = new QChartView(m_chart, this); - //m_chartView->setRubberBand(QChartView::HorizonalRubberBand); // Another grid layout as a main layout QGridLayout *mainLayout = new QGridLayout(); @@ -187,7 +188,6 @@ void MainWidget::addSeries() return; // Initial data - //![1] QBoxSet *set0 = new QBoxSet(); QBoxSet *set1 = new QBoxSet(); QBoxSet *set2 = new QBoxSet(); @@ -196,7 +196,7 @@ void MainWidget::addSeries() QBoxSet *set5 = new QBoxSet(); // low bot med top upp - *set0 << 1 << 2 << 4.4 << 13 << 15; + *set0 << -1 << 2 << 4 << 13 << 15; *set1 << 5 << 6 << 7.5 << 8 << 12; *set2 << 3 << 5 << 5.7 << 8 << 9; *set3 << 5 << 6 << 6.8 << 7 << 8; @@ -219,14 +219,14 @@ void MainWidget::addSeries() m_chart->addSeries(m_series[nSeries]); - if (nSeries == 0) { + if (!m_axis) { QStringList categories; categories << "Jan" << "Feb" << "Mar" << "Apr" << "May" << "Jun"; m_axis = new QBarCategoryAxis(); m_axis->append(categories); m_chart->createDefaultAxes(); - m_chart->setAxisX(m_axis, m_series[nSeries]); } + m_chart->setAxisX(m_axis, m_series[nSeries]); nSeries++; } @@ -248,7 +248,7 @@ void MainWidget::addBox() { qDebug() << "BoxPlotTester::MainWidget::addBox()"; - if (nSeries > 0) { + if (nSeries > 0 && nNewBoxes < maxAddCategories) { QBoxSet *newSet = new QBoxSet(); newSet->setValue(QBoxSet::LowerExtreme, 5.0); newSet->setValue(QBoxSet::LowerQuartile, 6.0); @@ -256,8 +256,7 @@ void MainWidget::addBox() newSet->setValue(QBoxSet::UpperQuartile, 7.0); newSet->setValue(QBoxSet::UpperExtreme, 8.0); - for (int i = 0; i < nSeries; i++) - m_series[i]->append(newSet); + m_series[0]->append(newSet); m_axis->append(addCategories[nNewBoxes]); @@ -288,11 +287,15 @@ void MainWidget::removeBox() if (nSeries > 0) { for (int i = 0; i < nSeries; i++) { - QList<QBoxSet *> sets = m_series[i]->boxSets(); - m_series[i]->remove(sets.at(m_series[i]->count() - 3)); + qDebug() << "m_series[i]->count() = " << m_series[i]->count(); + if (m_series[i]->count() > 3) { + QList<QBoxSet *> sets = m_series[i]->boxSets(); + m_series[i]->remove(sets.at(m_series[i]->count() - 3)); + } } - m_axis->remove(m_axis->at(1)); + if (m_axis->count() > 3) + m_axis->remove(m_axis->at(1)); } else { qDebug() << "Create a series first"; } |