mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-01-19 00:37:25 +01:00
[apps/regression] Display all the non empty regression series
This commit is contained in:
@@ -9,8 +9,7 @@ GraphView::GraphView(Store * store, CurveViewCursor * cursor, BannerView * banne
|
||||
CurveView(store, cursor, bannerView, cursorView),
|
||||
m_store(store),
|
||||
m_xLabels{},
|
||||
m_yLabels{},
|
||||
m_series(0) //TODO
|
||||
m_yLabels{}
|
||||
{
|
||||
}
|
||||
|
||||
@@ -21,17 +20,22 @@ void GraphView::drawRect(KDContext * ctx, KDRect rect) const {
|
||||
drawAxes(ctx, rect, Axis::Vertical);
|
||||
drawLabels(ctx, rect, Axis::Horizontal, true);
|
||||
drawLabels(ctx, rect, Axis::Vertical, true);
|
||||
float regressionParameters[2] = {(float)m_store->slope(m_series), (float)m_store->yIntercept(m_series)};
|
||||
drawCurve(ctx, rect, [](float abscissa, void * model, void * context) {
|
||||
float * params = (float *)model;
|
||||
return params[0]*abscissa+params[1];
|
||||
},
|
||||
regressionParameters, nullptr, Palette::YellowDark);
|
||||
for (int index = 0; index < m_store->numberOfPairs(); index++) {
|
||||
drawDot(ctx, rect, m_store->get(m_series, 0,index), m_store->get(m_series, 1,index), Palette::Red);
|
||||
for (int series = 0; series < Store::k_numberOfSeries; series++) {
|
||||
if (!m_store->seriesIsEmpty(series)) {
|
||||
KDColor color = Palette::DataColor[series];
|
||||
float regressionParameters[2] = {(float)m_store->slope(series), (float)m_store->yIntercept(series)};
|
||||
drawCurve(ctx, rect, [](float abscissa, void * model, void * context) {
|
||||
float * params = (float *)model;
|
||||
return params[0]*abscissa+params[1];
|
||||
},
|
||||
regressionParameters, nullptr, color);
|
||||
for (int index = 0; index < m_store->numberOfPairsOfSeries(series); index++) {
|
||||
drawDot(ctx, rect, m_store->get(series, 0, index), m_store->get(series, 1, index), color);
|
||||
}
|
||||
drawDot(ctx, rect, m_store->meanOfColumn(series, 0), m_store->meanOfColumn(series, 1), color, true);
|
||||
drawDot(ctx, rect, m_store->meanOfColumn(series, 0), m_store->meanOfColumn(series, 1), KDColorWhite);
|
||||
}
|
||||
}
|
||||
drawDot(ctx, rect, m_store->meanOfColumn(m_series, 0), m_store->meanOfColumn(m_series, 1), Palette::Palette::YellowDark, true);
|
||||
drawDot(ctx, rect, m_store->meanOfColumn(m_series, 0), m_store->meanOfColumn(m_series, 1), KDColorWhite);
|
||||
}
|
||||
|
||||
char * GraphView::label(Axis axis, int index) const {
|
||||
|
||||
@@ -17,7 +17,6 @@ private:
|
||||
Store * m_store;
|
||||
char m_xLabels[k_maxNumberOfXLabels][Poincare::PrintFloat::bufferSizeForFloatsWithPrecision(Constant::ShortNumberOfSignificantDigits)];
|
||||
char m_yLabels[k_maxNumberOfYLabels][Poincare::PrintFloat::bufferSizeForFloatsWithPrecision(Constant::ShortNumberOfSignificantDigits)];
|
||||
int m_series;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user