v2.0.0
Loading...
Searching...
No Matches
DISPLIB::Bar Class Reference

Bar chart / histogram QWidget rendering Eigen class-limit + frequency vectors with QPainter. More...

#include <bar.h>

Public Types

typedef QSharedPointer< BarSPtr
typedef QSharedPointer< const BarConstSPtr

Public Member Functions

 Bar (const QString &title="", QWidget *parent=nullptr)
template<typename T>
void setData (const Eigen::Matrix< T, Eigen::Dynamic, 1 > &matClassLimitData, const Eigen::Matrix< int, Eigen::Dynamic, 1 > &matClassFrequencyData, int iPrecisionValue)
template<typename T>
void setData (const Eigen::Matrix< T, 1, Eigen::Dynamic > &matClassLimitData, const Eigen::Matrix< int, 1, Eigen::Dynamic > &matClassFrequencyData, int iPrecisionValue)
template<typename T>
void updatePlot (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &matClassLimitData, const Eigen::Matrix< int, Eigen::Dynamic, Eigen::Dynamic > &matClassFrequencyData, int iPrecisionValue)
template<typename T>
void splitCoefficientAndExponent (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &matClassLimitData, int iClassAmount, Eigen::VectorXd &vecCoefficientResults, Eigen::VectorXi &vecExponentValues)

Protected Member Functions

void paintEvent (QPaintEvent *event) override

Detailed Description

Bar chart / histogram QWidget rendering Eigen class-limit + frequency vectors with QPainter.

Templated on the value type so callers can pass either integer or floating bin limits. Use setData to install a new dataset and updatePlot to refresh an existing chart in place; both call splitCoefficientAndExponent internally to format the tick labels with a configurable number of significant digits.

Definition at line 73 of file bar.h.

Inheritance diagram for DISPLIB::Bar:
Inheritance graph

Member Typedef Documentation

◆ ConstSPtr

typedef QSharedPointer<const Bar> DISPLIB::Bar::ConstSPtr

Const shared pointer type for Bar class.

Definition at line 79 of file bar.h.

◆ SPtr

typedef QSharedPointer<Bar> DISPLIB::Bar::SPtr

Shared pointer type for Bar class.

Definition at line 78 of file bar.h.

Constructor & Destructor Documentation

◆ Bar()

Bar::Bar ( const QString & title = "",
QWidget * parent = nullptr )

The constructor for Bar.

Definition at line 48 of file bar.cpp.

Member Function Documentation

◆ paintEvent()

void Bar::paintEvent ( QPaintEvent * event)
overrideprotected

Paints the bar chart.

Parameters
[in]eventThe paint event.

Definition at line 61 of file bar.cpp.

◆ setData() [1/2]

template<typename T>
void DISPLIB::Bar::setData ( const Eigen::Matrix< T, 1, Eigen::Dynamic > & matClassLimitData,
const Eigen::Matrix< int, 1, Eigen::Dynamic > & matClassFrequencyData,
int iPrecisionValue )

Definition at line 167 of file bar.h.

◆ setData() [2/2]

template<typename T>
void DISPLIB::Bar::setData ( const Eigen::Matrix< T, Eigen::Dynamic, 1 > & matClassLimitData,
const Eigen::Matrix< int, Eigen::Dynamic, 1 > & matClassFrequencyData,
int iPrecisionValue )

Sets new data to the bar chart

Parameters
[in]matClassLimitDatavector input filled with class limits.
[in]matClassFrequencyDatavector input filled with class frequency to the corresponding class.
[in]iPrecisionValueuser input to determine the amount of digits of coefficient shown in the histogram.

Definition at line 155 of file bar.h.

◆ splitCoefficientAndExponent()

template<typename T>
void DISPLIB::Bar::splitCoefficientAndExponent ( const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > & matClassLimitData,
int iClassAmount,
Eigen::VectorXd & vecCoefficientResults,
Eigen::VectorXi & vecExponentValues )

splitCoefficientAndExponent takes in QVector value of coefficient and exponent and normalizes them.

Parameters
[in]matClassLimitDatavector input filled with values of class limits.
[in]iClassAmountamount of classes in the histogram.
[out]vecCoefficientResultsvector filled with values of coefficient only.
[out]vecExponentValuesvector filled with values of exponent only.

Definition at line 217 of file bar.h.

◆ updatePlot()

template<typename T>
void DISPLIB::Bar::updatePlot ( const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > & matClassLimitData,
const Eigen::Matrix< int, Eigen::Dynamic, Eigen::Dynamic > & matClassFrequencyData,
int iPrecisionValue )

Updates the bar plot with the new data

Parameters
[in]matClassLimitDatavector input filled with class limits.
[in]matClassFrequencyDatavector input filled with class frequency to the corresponding class.
[in]iPrecisionValueuser input to determine the amount of digits of coefficient shown in the histogram.

Definition at line 179 of file bar.h.


The documentation for this class was generated from the following files: