SedSat3 1.1.6
Sediment Source Apportionment Tool - Advanced statistical methods for environmental pollution research
Loading...
Searching...
No Matches
generalchart.h
Go to the documentation of this file.
1#ifndef GENERALCHART_H
2#define GENERALCHART_H
3
4#include <QDialog>
5#include <qchartview.h>
6#include <qchart.h>
7#include "results.h"
8#include "cmbvector.h"
9#include "cmbvectorset.h"
10#include "cmbvectorsetset.h"
11#include <contribution.h>
14#include <QComboBox>
15#include "rangeset.h"
16#include <chart.h>
17#include <chartview.h>
18
19#ifndef Qt6
20using namespace QtCharts;
21#endif
22
23namespace Ui {
24class GeneralChart;
25}
26
27class GeneralChart : public QDialog
28{
29 Q_OBJECT
30
31public:
32 explicit GeneralChart(QWidget *parent = nullptr);
34 bool Plot(ResultItem* res);
35 bool PlotVector(CMBVector *profile, const QString &title);
36 bool PlotVectorSet(CMBVectorSet *profile, const QString &title);
37 bool PlotVectorSetSet(CMBVectorSetSet *profile, const QString &title);
38 bool PlotMatrix(CMBMatrix *matrix, const QString &title);
39 bool PlotProfileSet(Elemental_Profile_Set *elementalprofileset, const QString &title);
40 bool PlotContribution(Contribution* contributions, const QString &title);
41 bool PlotPredictedConcentration(Elemental_Profile* elemental_profile, const QString &title);
42 bool PlotRegressionSet(MultipleLinearRegressionSet *regressionset, const QString &title);
43 bool PlotTimeSeriesSet(CMBTimeSeriesSet *regressionset, const QString &title, const QString &x_axis_title="", const QString &y_axis_title="");
44 bool PlotTimeSeriesSet_M(CMBTimeSeriesSet *timeseriesset, const QString &title, const QString &x_axis_title="", const QString &y_axis_title="");
45 bool PlotTimeSeriesSet_A(CMBTimeSeriesSet *timeseriesset, const QString &title, const QString &x_axis_title="", const QString &y_axis_title="");
46 bool PlotTimeSeriesSet_Stacked(CMBTimeSeriesSet *timeseriesset, const QString &title, const QString &x_axis_title, const QString &y_axis_title="");
47 bool PlotRangeSet(RangeSet *rangeset, const QString &title, const QString &x_axis_title, const QString &y_axis_title);
48 bool InitializeMCMCSamples(CMBTimeSeriesSet *mcmcsamples, const QString &title);
49 bool InitializeDistributions(CMBTimeSeriesSet *distributions, const QString &title);
50 bool PlotMCMCSamples(TimeSeries<double> *mlr,const QString& variable);
51 bool PlotDistribution(TimeSeries<double> *mlr,const QString& variable);
54 bool PlotScatter(CMBVectorSet *vectorset1, CMBVectorSet *vectorset2, const QString &xaxis_title, const QString &yaxistitle);
55private:
56 Ui::GeneralChart *ui;
59 QComboBox *element_combo;
60 QComboBox *source1_combo;
61 QComboBox *source2_combo;
63 bool PlotRegression(MultipleLinearRegression *timeseriesset,const QString& independent_var);
65private slots:
66 void onIndependentChanged(int i_independent);
67 void onElementChanged(int i_constituent);
68 void onPairChanged(int pair_id);
69 void onDFAPairChanged(int pair_id);
70 void onMCMCVariableChanged(int);
72 void on_Exporttopng();
73 std::vector<QPointF> calculateRotatedEllipsePoints(double centerX, double centerY, double semiMajorAxis, double semiMinorAxis, double rotationAngle, double interval);
74
75};
76
77double roundDown(double a, double rounding_number=1.0);
78#endif // GENERALCHART_H
Matrix class with labeled rows and columns for Chemical Mass Balance analysis.
Definition cmbmatrix.h:19
Collection of time series with labels and observed values.
Collection of named CMBVectorSet objects for hierarchical data organization.
Collection of named CMBVector objects for multi-variable analysis.
Vector class with string labels for Chemical Mass Balance analysis.
Definition cmbvector.h:17
Definition chart.h:14
Source contribution container for Chemical Mass Balance results.
Manages a collection of elemental profiles (samples) for source fingerprinting analysis.
Container for elemental concentration data of a single sediment sample.
bool PlotTimeSeriesSet_Stacked(CMBTimeSeriesSet *timeseriesset, const QString &title, const QString &x_axis_title, const QString &y_axis_title="")
bool PlotDistribution(TimeSeries< double > *mlr, const QString &variable)
bool PlotRangeSet(RangeSet *rangeset, const QString &title, const QString &x_axis_title, const QString &y_axis_title)
void onDistributionsVariableChanged(int)
bool PlotMatrix(CMBMatrix *matrix, const QString &title)
bool InitializeDistributions(CMBTimeSeriesSet *distributions, const QString &title)
bool PlotProfileSet(Elemental_Profile_Set *elementalprofileset, const QString &title)
QComboBox * source1_combo
bool PlotScatter(CMBMatrix *matrix)
ChartView * chartView
bool PlotContribution(Contribution *contributions, const QString &title)
void onMCMCVariableChanged(int)
Chart * chart
bool PlotVectorSet(CMBVectorSet *profile, const QString &title)
bool PlotMCMCSamples(TimeSeries< double > *mlr, const QString &variable)
QComboBox * source2_combo
std::vector< QPointF > calculateRotatedEllipsePoints(double centerX, double centerY, double semiMajorAxis, double semiMinorAxis, double rotationAngle, double interval)
void onIndependentChanged(int i_independent)
bool PlotRegression(MultipleLinearRegression *timeseriesset, const QString &independent_var)
QComboBox * element_combo
bool PlotTimeSeriesSet(CMBTimeSeriesSet *regressionset, const QString &title, const QString &x_axis_title="", const QString &y_axis_title="")
bool PlotPredictedConcentration(Elemental_Profile *elemental_profile, const QString &title)
bool PlotVectorSetSet(CMBVectorSetSet *profile, const QString &title)
ResultItem * result_item
Ui::GeneralChart * ui
QComboBox * independent_combo
void onPairChanged(int pair_id)
bool Plot(ResultItem *res)
bool PlotTimeSeriesSet_M(CMBTimeSeriesSet *timeseriesset, const QString &title, const QString &x_axis_title="", const QString &y_axis_title="")
void onDFAPairChanged(int pair_id)
void onElementChanged(int i_constituent)
bool PlotVector(CMBVector *profile, const QString &title)
bool PlotRegressionSet(MultipleLinearRegressionSet *regressionset, const QString &title)
bool PlotTimeSeriesSet_A(CMBTimeSeriesSet *timeseriesset, const QString &title, const QString &x_axis_title="", const QString &y_axis_title="")
bool InitializeMCMCSamples(CMBTimeSeriesSet *mcmcsamples, const QString &title)
double roundDown(double a, double rounding_number=1.0)