expand x or y range for charts if too small
This commit is contained in:
@ -31,6 +31,8 @@
|
|||||||
#include <QTextStream>
|
#include <QTextStream>
|
||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
|
|
||||||
|
#include <cmath>
|
||||||
|
|
||||||
using namespace QtCharts;
|
using namespace QtCharts;
|
||||||
|
|
||||||
ChartWindow::ChartWindow(const QString &_filename, QWidget *parent) :
|
ChartWindow::ChartWindow(const QString &_filename, QWidget *parent) :
|
||||||
@ -320,6 +322,20 @@ void ChartViewer::reset_zoom()
|
|||||||
ymin = qMin(ymin, p.y());
|
ymin = qMin(ymin, p.y());
|
||||||
ymax = qMax(ymax, p.y());
|
ymax = qMax(ymax, p.y());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// avoid (nearly) empty ranges
|
||||||
|
double deltax = fabs((xmax - xmin) / ((xmax == 0.0) ? 1.0 : xmax));
|
||||||
|
if (deltax < 1.0e-10) {
|
||||||
|
xmin -= 100.0*deltax;
|
||||||
|
xmax += 100.0*deltax;
|
||||||
|
}
|
||||||
|
|
||||||
|
double deltay = fabs((ymax - ymin) / ((ymax == 0.0) ? 1.0 : ymax));
|
||||||
|
if (deltay < 1.0e-10) {
|
||||||
|
ymin -= 100.0*deltay;
|
||||||
|
ymax += 100.0*deltay;
|
||||||
|
}
|
||||||
|
|
||||||
xaxis->setRange(xmin, xmax);
|
xaxis->setRange(xmin, xmax);
|
||||||
yaxis->setRange(ymin, ymax);
|
yaxis->setRange(ymin, ymax);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user