[apps/regression] Add methods in data model to set the cursor position

at a specific abscissa/ordinate

Change-Id: I95cde32b36405f57e3e6ccfa37e6e0cda70da59a
This commit is contained in:
Émilie Feral
2017-01-03 14:56:51 +01:00
parent 7d799057fd
commit 7e66949900
2 changed files with 21 additions and 0 deletions

View File

@@ -107,6 +107,20 @@ int Data::selectedDotIndex() {
return m_selectedDotIndex;
}
void Data::setCursorPositionAtAbscissa(float abscissa) {
m_xCursorPosition = abscissa;
centerAxisAround(CurveViewWindow::Axis::X, m_xCursorPosition);
m_yCursorPosition = yValueForXValue(m_xCursorPosition);
centerAxisAround(CurveViewWindow::Axis::Y, m_yCursorPosition);
}
void Data::setCursorPositionAtOrdinate(float ordinate) {
m_yCursorPosition = ordinate;
centerAxisAround(CurveViewWindow::Axis::Y, m_yCursorPosition);
m_xCursorPosition = xValueForYValue(m_yCursorPosition);
centerAxisAround(CurveViewWindow::Axis::X, m_xCursorPosition);
}
/* Window */
void Data::setDefault() {
@@ -197,6 +211,10 @@ float Data::yValueForXValue(float x) {
return slope()*x+yIntercept();
}
float Data::xValueForYValue(float y) {
return (y - yIntercept())/slope();
}
float Data::correlationCoefficient() {
return covariance()/(xStandardDeviation()*yStandardDeviation());
}