diff --git a/examples/linechart/main.cpp b/examples/linechart/main.cpp index 4acd0b7..7296ceb 100644 --- a/examples/linechart/main.cpp +++ b/examples/linechart/main.cpp @@ -31,21 +31,34 @@ int main(int argc, char *argv[]) //![1] QLineSeries *series = new QLineSeries(); + QLineSeries *series2 = new QLineSeries(); //![1] //![2] - series->append(0, 6); - series->append(2, 4); - series->append(3, 8); - series->append(7, 4); - series->append(10, 5); - *series << QPointF(11, 1) << QPointF(13, 3) << QPointF(17, 6) << QPointF(18, 3) << QPointF(20, 2); + *series << QPointF(0.06197, 0.16) + << QPointF(0.18694, 0.16) + << QPointF(0.3119, 0.16) + << QPointF(0.43687, 0.16) + << QPointF(0.56183, 0.16) + << QPointF(0.68678, 0.16) + << QPointF(0.81173, 0.16) + << QPointF(0.93667, 0.16); + + *series2 << QPointF(0.06197, 0.16) + << QPointF(0.18694, 0.16) + << QPointF(0.3119, 0.16) + << QPointF(0.43687, 0.16) + << QPointF(0.56183, 0.16) + << QPointF(0.68678, 0.16) + << QPointF(0.81173, 0.16) + << QPointF(0.93667, 0.16); //![2] //![3] QChart *chart = new QChart(); chart->legend()->hide(); chart->addSeries(series); + chart->addSeries(series2); chart->createDefaultAxes(); chart->setTitle("Simple line chart example"); //![3] diff --git a/src/chartdataset.cpp b/src/chartdataset.cpp index 05a0510..9144e5c 100644 --- a/src/chartdataset.cpp +++ b/src/chartdataset.cpp @@ -336,6 +336,10 @@ void ChartDataSet::findMinMaxForSeries(QList series,Qt::Orien min = qMin((orientation == Qt::Vertical) ? domain->minY() : domain->minX(), min); max = qMax((orientation == Qt::Vertical) ? domain->maxY() : domain->maxX(), max); } + if (min == max) { + min -= 0.5; + max += 0.5; + } } void ChartDataSet::deleteAllSeries() diff --git a/tests/auto/qchart/tst_qchart.cpp b/tests/auto/qchart/tst_qchart.cpp index 5acc3a0..a6ab057 100644 --- a/tests/auto/qchart/tst_qchart.cpp +++ b/tests/auto/qchart/tst_qchart.cpp @@ -820,6 +820,8 @@ void tst_QChart::createDefaultAxesForLineSeries_data() << (qreal)1.1 << (qreal)2.0 << (qreal)2.9 << (qreal)1.0 << (qreal)2.0 << (qreal)3.0 << (qreal)1.0 << (qreal)3.0; QTest::newRow("series1hasMin_series2hasMax") << (qreal)1.0 << (qreal)2.0 << (qreal)2.9 << (qreal)1.1 << (qreal)1.7 << (qreal)3.0 << (qreal)1.0 << (qreal)3.0 << (qreal)1.0 << (qreal)2.0 << (qreal)2.9 << (qreal)1.1 << (qreal)1.7 << (qreal)3.0 << (qreal)1.0 << (qreal)3.0; + QTest::newRow("bothSeriesHaveSameMinAndMax") << (qreal)1.0 << (qreal)2.0 << (qreal)2.9 << (qreal)1.1 << (qreal)1.7 << (qreal)3.0 << (qreal)1.0 << (qreal)3.0 + << (qreal)1.1 << (qreal)1.1 << (qreal)1.1 << (qreal)1.1 << (qreal)1.1 << (qreal)1.1 << (qreal)0.6 << (qreal)1.6; } void tst_QChart::createDefaultAxesForLineSeries()