mirror of
https://github.com/jkriege2/JKQtPlotter.git
synced 2025-01-12 08:50:31 +08:00
- improved/breaking change: reworked class hierarchy of range plot elements (JKQTPVerticalRange and JKQTPHorizontalRange)
- improved their documentation
This commit is contained in:
parent
9e48a2e59e
commit
f4767072a4
@ -451,12 +451,28 @@ This group assembles graphs that show their data with symbols and optionally wit
|
|||||||
<tr>
|
<tr>
|
||||||
<td>\image html geo_chords_small.png
|
<td>\image html geo_chords_small.png
|
||||||
<td> JKQTPGeoChord
|
<td> JKQTPGeoChord
|
||||||
|
</table>
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
- \ref JKQTPlotterGeometricGraphs
|
||||||
|
.
|
||||||
|
|
||||||
|
\defgroup jkqtplotter_annotations Graph Annotations
|
||||||
|
\ingroup jkqtplotter_graphsgroup
|
||||||
|
|
||||||
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td>\image html geo_boxplot_small.png
|
<th> Screenshot
|
||||||
<td> JKQTPBoxplotVerticalElement, JKQTPBoxplotHorizontalElement
|
<th> Classes
|
||||||
<tr>
|
<tr>
|
||||||
<td>\image html JKQTPViolinplotVerticalElement_small.png
|
<td>\image html symbol_filled_diamond.png
|
||||||
<td> JKQTPViolinplotVerticalElement, JKQTPViolinplotHorizontalElement
|
<td> JKQTPGeoSymbol
|
||||||
|
<tr>
|
||||||
|
<td>\image html geo_text_small.png
|
||||||
|
<td> JKQTPGeoText
|
||||||
|
<tr>
|
||||||
|
<td>\image html JKQTPHorizontalRange_small.png
|
||||||
|
<td> JKQTPHorizontalRange, JKQTPVerticalRange
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
@ -470,12 +486,15 @@ Examples:
|
|||||||
<tr>
|
<tr>
|
||||||
<th> Screenshot
|
<th> Screenshot
|
||||||
<th> Classes
|
<th> Classes
|
||||||
<tr>
|
|
||||||
<td>\image html JKQTPHorizontalRange_small.png
|
|
||||||
<td> JKQTPHorizontalRange, JKQTPVerticalRange
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>\image html JKQTPPeakStreamGraphY_small.png
|
<td>\image html JKQTPPeakStreamGraphY_small.png
|
||||||
<td> JKQTPPeakStreamGraph
|
<td> JKQTPPeakStreamGraph
|
||||||
|
<tr>
|
||||||
|
<td>\image html geo_boxplot_small.png
|
||||||
|
<td> JKQTPBoxplotVerticalElement, JKQTPBoxplotHorizontalElement
|
||||||
|
<tr>
|
||||||
|
<td>\image html JKQTPViolinplotVerticalElement_small.png
|
||||||
|
<td> JKQTPViolinplotVerticalElement, JKQTPViolinplotHorizontalElement
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
\defgroup jkqtplotter_imagelots Matrix/Image Plotting
|
\defgroup jkqtplotter_imagelots Matrix/Image Plotting
|
||||||
|
@ -30,6 +30,7 @@ Changes, compared to \ref page_whatsnew_V2019_11 "v2019.11" include:
|
|||||||
<li>improved/breaking change: reworked class hierarchy of range charts.</li>
|
<li>improved/breaking change: reworked class hierarchy of range charts.</li>
|
||||||
<li>improved/breaking change: reworked class hierarchy of special line (step) graphs.</li>
|
<li>improved/breaking change: reworked class hierarchy of special line (step) graphs.</li>
|
||||||
<li>improved/breaking change: reworked class hierarchy of filled line graphs.</li>
|
<li>improved/breaking change: reworked class hierarchy of filled line graphs.</li>
|
||||||
|
<li>improved/breaking change: reworked class hierarchy of range plot elements (JKQTPVerticalRange and JKQTPHorizontalRange).</li>
|
||||||
<li>improved/breaking change: reworked graph Base-Classes (promoted several setters to slots, added Q_PROPERTY- and Q_ENUM-declarations...)</li>
|
<li>improved/breaking change: reworked graph Base-Classes (promoted several setters to slots, added Q_PROPERTY- and Q_ENUM-declarations...)</li>
|
||||||
<li>improved/breaking change: made more functions and function parameters const</li>
|
<li>improved/breaking change: made more functions and function parameters const</li>
|
||||||
<li>bugfixed/improved: aspect ratio handling in JKQTPlotter.</li>
|
<li>bugfixed/improved: aspect ratio handling in JKQTPlotter.</li>
|
||||||
|
BIN
doc/images/JKQTPRangeBase.png
Normal file
BIN
doc/images/JKQTPRangeBase.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
BIN
doc/images/JKQTPRangeBase_Inverted.png
Normal file
BIN
doc/images/JKQTPRangeBase_Inverted.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.0 KiB |
@ -290,7 +290,7 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPBoxplotHorizontalGraph: public JKQTPBoxplotVer
|
|||||||
/*! \brief This implements a single vertical <a href="http://en.wikipedia.org/wiki/Box_plot">(notched) boxplot</a> as a "geometric element",
|
/*! \brief This implements a single vertical <a href="http://en.wikipedia.org/wiki/Box_plot">(notched) boxplot</a> as a "geometric element",
|
||||||
where the data is directly given to the object and not stored in a column, as in JKQTPBoxplotVerticalGraph
|
where the data is directly given to the object and not stored in a column, as in JKQTPBoxplotVerticalGraph
|
||||||
\ingroup jkqtplotter_statgraphs
|
\ingroup jkqtplotter_statgraphs
|
||||||
\ingroup jkqtplotter_geoplots
|
\ingroup jkqtplotter_diverse
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -421,7 +421,7 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPBoxplotVerticalElement: public JKQTPPlotObject
|
|||||||
/*! \brief This implements a horizontal <a href="http://en.wikipedia.org/wiki/Box_plot">(notched) boxplot</a> where the data is directly given to the
|
/*! \brief This implements a horizontal <a href="http://en.wikipedia.org/wiki/Box_plot">(notched) boxplot</a> where the data is directly given to the
|
||||||
object and not stored in a column, as in JKQTPBoxplotVerticalGraph
|
object and not stored in a column, as in JKQTPBoxplotVerticalGraph
|
||||||
\ingroup jkqtplotter_statgraphs
|
\ingroup jkqtplotter_statgraphs
|
||||||
\ingroup jkqtplotter_geoplots
|
\ingroup jkqtplotter_diverse
|
||||||
|
|
||||||
the x position is given in pos. All other data are given in the median, min, max,
|
the x position is given in pos. All other data are given in the median, min, max,
|
||||||
percentile25 and percentile75.
|
percentile25 and percentile75.
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
|
|
||||||
/*! \brief This virtual JKQTPGraph descendent may be used to display a single symbol (marker).
|
/*! \brief This virtual JKQTPGraph descendent may be used to display a single symbol (marker).
|
||||||
\ingroup jkqtplotter_geoplots
|
\ingroup jkqtplotter_annotations
|
||||||
|
|
||||||
\see \ref JKQTPlotterGeometricGraphs
|
\see \ref JKQTPlotterGeometricGraphs
|
||||||
|
|
||||||
@ -101,7 +101,7 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPGeoSymbol: public JKQTPPlotObject, public JKQT
|
|||||||
|
|
||||||
/*! \brief This JKQTPPlotObject is used to display text. It uses the JKQTMathText
|
/*! \brief This JKQTPPlotObject is used to display text. It uses the JKQTMathText
|
||||||
class in order to display LaTeX formulas.
|
class in order to display LaTeX formulas.
|
||||||
\ingroup jkqtplotter_geoplots
|
\ingroup jkqtplotter_annotations
|
||||||
|
|
||||||
\see \ref JKQTPlotterGeometricGraphs
|
\see \ref JKQTPlotterGeometricGraphs
|
||||||
*/
|
*/
|
||||||
|
@ -34,8 +34,8 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
JKQTPHorizontalRange::JKQTPHorizontalRange(JKQTBasePlotter* parent):
|
JKQTPRangeBase::JKQTPRangeBase(JKQTBasePlotter* parent):
|
||||||
JKQTPGraph(parent)
|
JKQTPPlotElement(parent)
|
||||||
{
|
{
|
||||||
centerColor=QColor("red");
|
centerColor=QColor("red");
|
||||||
centerStyle=Qt::SolidLine;
|
centerStyle=Qt::SolidLine;
|
||||||
@ -62,6 +62,185 @@ JKQTPHorizontalRange::JKQTPHorizontalRange(JKQTBasePlotter* parent):
|
|||||||
fillRange=true;
|
fillRange=true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QColor JKQTPRangeBase::getKeyLabelColor() const
|
||||||
|
{
|
||||||
|
return centerColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
void JKQTPRangeBase::setDrawCenterLineOnly()
|
||||||
|
{
|
||||||
|
plotCenterLine=true;
|
||||||
|
plotRange=false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void JKQTPRangeBase::setColor(QColor c)
|
||||||
|
{
|
||||||
|
setLineColor(c);
|
||||||
|
centerColor=c;
|
||||||
|
setFillColor(JKQTPGetDerivedColor(parent->getCurrentPlotterStyle().graphFillColorDerivationMode, c));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void JKQTPRangeBase::setCenterColor(const QColor &__value)
|
||||||
|
{
|
||||||
|
this->centerColor = __value;
|
||||||
|
}
|
||||||
|
|
||||||
|
QColor JKQTPRangeBase::getCenterColor() const
|
||||||
|
{
|
||||||
|
return this->centerColor;
|
||||||
|
}
|
||||||
|
|
||||||
|
void JKQTPRangeBase::setCenterStyle(Qt::PenStyle __value)
|
||||||
|
{
|
||||||
|
this->centerStyle = __value;
|
||||||
|
}
|
||||||
|
|
||||||
|
Qt::PenStyle JKQTPRangeBase::getCenterStyle() const
|
||||||
|
{
|
||||||
|
return this->centerStyle;
|
||||||
|
}
|
||||||
|
|
||||||
|
void JKQTPRangeBase::setCenterLineWidth(double __value)
|
||||||
|
{
|
||||||
|
this->centerLineWidth = __value;
|
||||||
|
}
|
||||||
|
|
||||||
|
double JKQTPRangeBase::getCenterLineWidth() const
|
||||||
|
{
|
||||||
|
return this->centerLineWidth;
|
||||||
|
}
|
||||||
|
|
||||||
|
void JKQTPRangeBase::setRangeMin(double __value)
|
||||||
|
{
|
||||||
|
this->rangeMin = __value;
|
||||||
|
}
|
||||||
|
|
||||||
|
double JKQTPRangeBase::getRangeMin() const
|
||||||
|
{
|
||||||
|
return this->rangeMin;
|
||||||
|
}
|
||||||
|
|
||||||
|
void JKQTPRangeBase::setRangeMax(double __value)
|
||||||
|
{
|
||||||
|
this->rangeMax = __value;
|
||||||
|
}
|
||||||
|
|
||||||
|
double JKQTPRangeBase::getRangeMax() const
|
||||||
|
{
|
||||||
|
return this->rangeMax;
|
||||||
|
}
|
||||||
|
|
||||||
|
void JKQTPRangeBase::setSizeMin(double __value)
|
||||||
|
{
|
||||||
|
this->unlimitedSizeMin=false;
|
||||||
|
this->sizeMin = __value;
|
||||||
|
}
|
||||||
|
|
||||||
|
double JKQTPRangeBase::getSizeMin() const
|
||||||
|
{
|
||||||
|
return this->sizeMin;
|
||||||
|
}
|
||||||
|
|
||||||
|
void JKQTPRangeBase::setSizeMax(double __value)
|
||||||
|
{
|
||||||
|
this->unlimitedSizeMax=false;
|
||||||
|
this->sizeMax = __value;
|
||||||
|
}
|
||||||
|
|
||||||
|
double JKQTPRangeBase::getSizeMax() const
|
||||||
|
{
|
||||||
|
return this->sizeMax;
|
||||||
|
}
|
||||||
|
|
||||||
|
void JKQTPRangeBase::setUnlimitedSizeMin(bool __value)
|
||||||
|
{
|
||||||
|
this->unlimitedSizeMin = __value;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool JKQTPRangeBase::getUnlimitedSizeMin() const
|
||||||
|
{
|
||||||
|
return this->unlimitedSizeMin;
|
||||||
|
}
|
||||||
|
|
||||||
|
void JKQTPRangeBase::setUnlimitedSizeMax(bool __value)
|
||||||
|
{
|
||||||
|
this->unlimitedSizeMax = __value;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool JKQTPRangeBase::getUnlimitedSizeMax() const
|
||||||
|
{
|
||||||
|
return this->unlimitedSizeMax;
|
||||||
|
}
|
||||||
|
|
||||||
|
void JKQTPRangeBase::setRangeCenter(double __value)
|
||||||
|
{
|
||||||
|
this->rangeCenter = __value;
|
||||||
|
}
|
||||||
|
|
||||||
|
double JKQTPRangeBase::getRangeCenter() const
|
||||||
|
{
|
||||||
|
return this->rangeCenter;
|
||||||
|
}
|
||||||
|
|
||||||
|
void JKQTPRangeBase::setPlotCenterLine(bool __value)
|
||||||
|
{
|
||||||
|
this->plotCenterLine = __value;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool JKQTPRangeBase::getPlotCenterLine() const
|
||||||
|
{
|
||||||
|
return this->plotCenterLine;
|
||||||
|
}
|
||||||
|
|
||||||
|
void JKQTPRangeBase::setInvertedRange(bool __value)
|
||||||
|
{
|
||||||
|
this->invertedRange = __value;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool JKQTPRangeBase::getInvertedRange() const
|
||||||
|
{
|
||||||
|
return this->invertedRange;
|
||||||
|
}
|
||||||
|
|
||||||
|
void JKQTPRangeBase::setPlotRange(bool __value)
|
||||||
|
{
|
||||||
|
this->plotRange = __value;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool JKQTPRangeBase::getPlotRange() const
|
||||||
|
{
|
||||||
|
return this->plotRange;
|
||||||
|
}
|
||||||
|
|
||||||
|
void JKQTPRangeBase::setFillRange(bool __value)
|
||||||
|
{
|
||||||
|
this->fillRange = __value;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool JKQTPRangeBase::getFillRange() const
|
||||||
|
{
|
||||||
|
return this->fillRange;
|
||||||
|
}
|
||||||
|
|
||||||
|
void JKQTPRangeBase::setPlotRangeLines(bool __value)
|
||||||
|
{
|
||||||
|
this->plotRangeLines = __value;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool JKQTPRangeBase::getPlotRangeLines() const
|
||||||
|
{
|
||||||
|
return this->plotRangeLines;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
JKQTPHorizontalRange::JKQTPHorizontalRange(JKQTBasePlotter* parent):
|
||||||
|
JKQTPRangeBase(parent)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
JKQTPHorizontalRange::JKQTPHorizontalRange(JKQTPlotter* parent):
|
JKQTPHorizontalRange::JKQTPHorizontalRange(JKQTPlotter* parent):
|
||||||
JKQTPHorizontalRange(parent->getPlotter())
|
JKQTPHorizontalRange(parent->getPlotter())
|
||||||
@ -175,175 +354,6 @@ bool JKQTPHorizontalRange::getYMinMax(double &miny, double &maxy, double &smalle
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
QColor JKQTPHorizontalRange::getKeyLabelColor() const
|
|
||||||
{
|
|
||||||
return centerColor;
|
|
||||||
}
|
|
||||||
|
|
||||||
void JKQTPHorizontalRange::setDrawCenterLineOnly()
|
|
||||||
{
|
|
||||||
plotCenterLine=true;
|
|
||||||
plotRange=false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void JKQTPHorizontalRange::setColor(QColor c)
|
|
||||||
{
|
|
||||||
setLineColor(c);
|
|
||||||
centerColor=c;
|
|
||||||
setFillColor(JKQTPGetDerivedColor(parent->getCurrentPlotterStyle().graphFillColorDerivationMode, c));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void JKQTPHorizontalRange::setCenterColor(const QColor &__value)
|
|
||||||
{
|
|
||||||
this->centerColor = __value;
|
|
||||||
}
|
|
||||||
|
|
||||||
QColor JKQTPHorizontalRange::getCenterColor() const
|
|
||||||
{
|
|
||||||
return this->centerColor;
|
|
||||||
}
|
|
||||||
|
|
||||||
void JKQTPHorizontalRange::setCenterStyle(Qt::PenStyle __value)
|
|
||||||
{
|
|
||||||
this->centerStyle = __value;
|
|
||||||
}
|
|
||||||
|
|
||||||
Qt::PenStyle JKQTPHorizontalRange::getCenterStyle() const
|
|
||||||
{
|
|
||||||
return this->centerStyle;
|
|
||||||
}
|
|
||||||
|
|
||||||
void JKQTPHorizontalRange::setCenterLineWidth(double __value)
|
|
||||||
{
|
|
||||||
this->centerLineWidth = __value;
|
|
||||||
}
|
|
||||||
|
|
||||||
double JKQTPHorizontalRange::getCenterLineWidth() const
|
|
||||||
{
|
|
||||||
return this->centerLineWidth;
|
|
||||||
}
|
|
||||||
|
|
||||||
void JKQTPHorizontalRange::setRangeMin(double __value)
|
|
||||||
{
|
|
||||||
this->rangeMin = __value;
|
|
||||||
}
|
|
||||||
|
|
||||||
double JKQTPHorizontalRange::getRangeMin() const
|
|
||||||
{
|
|
||||||
return this->rangeMin;
|
|
||||||
}
|
|
||||||
|
|
||||||
void JKQTPHorizontalRange::setRangeMax(double __value)
|
|
||||||
{
|
|
||||||
this->rangeMax = __value;
|
|
||||||
}
|
|
||||||
|
|
||||||
double JKQTPHorizontalRange::getRangeMax() const
|
|
||||||
{
|
|
||||||
return this->rangeMax;
|
|
||||||
}
|
|
||||||
|
|
||||||
void JKQTPHorizontalRange::setSizeMin(double __value)
|
|
||||||
{
|
|
||||||
this->sizeMin = __value;
|
|
||||||
}
|
|
||||||
|
|
||||||
double JKQTPHorizontalRange::getSizeMin() const
|
|
||||||
{
|
|
||||||
return this->sizeMin;
|
|
||||||
}
|
|
||||||
|
|
||||||
void JKQTPHorizontalRange::setSizeMax(double __value)
|
|
||||||
{
|
|
||||||
this->sizeMax = __value;
|
|
||||||
}
|
|
||||||
|
|
||||||
double JKQTPHorizontalRange::getSizeMax() const
|
|
||||||
{
|
|
||||||
return this->sizeMax;
|
|
||||||
}
|
|
||||||
|
|
||||||
void JKQTPHorizontalRange::setUnlimitedSizeMin(bool __value)
|
|
||||||
{
|
|
||||||
this->unlimitedSizeMin = __value;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool JKQTPHorizontalRange::getUnlimitedSizeMin() const
|
|
||||||
{
|
|
||||||
return this->unlimitedSizeMin;
|
|
||||||
}
|
|
||||||
|
|
||||||
void JKQTPHorizontalRange::setUnlimitedSizeMax(bool __value)
|
|
||||||
{
|
|
||||||
this->unlimitedSizeMax = __value;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool JKQTPHorizontalRange::getUnlimitedSizeMax() const
|
|
||||||
{
|
|
||||||
return this->unlimitedSizeMax;
|
|
||||||
}
|
|
||||||
|
|
||||||
void JKQTPHorizontalRange::setRangeCenter(double __value)
|
|
||||||
{
|
|
||||||
this->rangeCenter = __value;
|
|
||||||
}
|
|
||||||
|
|
||||||
double JKQTPHorizontalRange::getRangeCenter() const
|
|
||||||
{
|
|
||||||
return this->rangeCenter;
|
|
||||||
}
|
|
||||||
|
|
||||||
void JKQTPHorizontalRange::setPlotCenterLine(bool __value)
|
|
||||||
{
|
|
||||||
this->plotCenterLine = __value;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool JKQTPHorizontalRange::getPlotCenterLine() const
|
|
||||||
{
|
|
||||||
return this->plotCenterLine;
|
|
||||||
}
|
|
||||||
|
|
||||||
void JKQTPHorizontalRange::setInvertedRange(bool __value)
|
|
||||||
{
|
|
||||||
this->invertedRange = __value;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool JKQTPHorizontalRange::getInvertedRange() const
|
|
||||||
{
|
|
||||||
return this->invertedRange;
|
|
||||||
}
|
|
||||||
|
|
||||||
void JKQTPHorizontalRange::setPlotRange(bool __value)
|
|
||||||
{
|
|
||||||
this->plotRange = __value;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool JKQTPHorizontalRange::getPlotRange() const
|
|
||||||
{
|
|
||||||
return this->plotRange;
|
|
||||||
}
|
|
||||||
|
|
||||||
void JKQTPHorizontalRange::setFillRange(bool __value)
|
|
||||||
{
|
|
||||||
this->fillRange = __value;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool JKQTPHorizontalRange::getFillRange() const
|
|
||||||
{
|
|
||||||
return this->fillRange;
|
|
||||||
}
|
|
||||||
|
|
||||||
void JKQTPHorizontalRange::setPlotRangeLines(bool __value)
|
|
||||||
{
|
|
||||||
this->plotRangeLines = __value;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool JKQTPHorizontalRange::getPlotRangeLines() const
|
|
||||||
{
|
|
||||||
return this->plotRangeLines;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -354,12 +364,12 @@ bool JKQTPHorizontalRange::getPlotRangeLines() const
|
|||||||
|
|
||||||
|
|
||||||
JKQTPVerticalRange::JKQTPVerticalRange(JKQTBasePlotter* parent):
|
JKQTPVerticalRange::JKQTPVerticalRange(JKQTBasePlotter* parent):
|
||||||
JKQTPHorizontalRange(parent)
|
JKQTPRangeBase(parent)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
JKQTPVerticalRange::JKQTPVerticalRange(JKQTPlotter* parent):
|
JKQTPVerticalRange::JKQTPVerticalRange(JKQTPlotter* parent):
|
||||||
JKQTPHorizontalRange(parent)
|
JKQTPVerticalRange(parent->getPlotter())
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,13 +44,178 @@ class JKQTPDatastore;
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*! \brief simply marks a range (and possibly a centerline) in a plot. This may be used to display e.g. mean +/- stddev
|
/** \brief simply marks a range (and possibly a centerline) in a plot. This may be used to display e.g. mean +/- stddev
|
||||||
or a range of interest, or the range of good values, ...
|
* or a range of interest, or the range of good values, ...
|
||||||
\ingroup jkqtplotter_diverse
|
* \ingroup jkqtplotter_annotations
|
||||||
|
*
|
||||||
\image html JKQTPHorizontalRange.png
|
* \image html JKQTPRangeBase.png
|
||||||
|
*
|
||||||
|
* You can also invert the range, i.e. everything outside the range will be filled (\c setInvertedRange() ):
|
||||||
|
*
|
||||||
|
* \image html JKQTPRangeBase_Inverted.png
|
||||||
*/
|
*/
|
||||||
class JKQTPLOTTER_LIB_EXPORT JKQTPHorizontalRange: public JKQTPGraph, public JKQTPGraphLineStyleMixin, public JKQTPGraphFillStyleMixin {
|
class JKQTPLOTTER_LIB_EXPORT JKQTPRangeBase: public JKQTPPlotElement, public JKQTPGraphLineStyleMixin, public JKQTPGraphFillStyleMixin {
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
/** \brief class constructor */
|
||||||
|
JKQTPRangeBase(JKQTBasePlotter* parent=nullptr);
|
||||||
|
|
||||||
|
|
||||||
|
/** \brief returns the color to be used for the key label */
|
||||||
|
virtual QColor getKeyLabelColor() const override;
|
||||||
|
|
||||||
|
|
||||||
|
/*! \copydoc centerColor */
|
||||||
|
QColor getCenterColor() const;
|
||||||
|
/*! \copydoc centerStyle */
|
||||||
|
Qt::PenStyle getCenterStyle() const;
|
||||||
|
/*! \copydoc centerLineWidth */
|
||||||
|
void setCenterLineWidth(double __value);
|
||||||
|
/*! \copydoc centerLineWidth */
|
||||||
|
double getCenterLineWidth() const;
|
||||||
|
/*! \copydoc rangeMin */
|
||||||
|
double getRangeMin() const;
|
||||||
|
/*! \copydoc rangeMax */
|
||||||
|
double getRangeMax() const;
|
||||||
|
/*! \copydoc sizeMin */
|
||||||
|
double getSizeMin() const;
|
||||||
|
/*! \copydoc sizeMax */
|
||||||
|
double getSizeMax() const;
|
||||||
|
/*! \copydoc unlimitedSizeMin */
|
||||||
|
bool getUnlimitedSizeMin() const;
|
||||||
|
/*! \copydoc unlimitedSizeMax */
|
||||||
|
bool getUnlimitedSizeMax() const;
|
||||||
|
|
||||||
|
/*! \copydoc rangeCenter */
|
||||||
|
double getRangeCenter() const;
|
||||||
|
/*! \copydoc plotCenterLine */
|
||||||
|
bool getPlotCenterLine() const;
|
||||||
|
/*! \copydoc invertedRange */
|
||||||
|
bool getInvertedRange() const;
|
||||||
|
/*! \copydoc plotRange */
|
||||||
|
bool getPlotRange() const;
|
||||||
|
/*! \copydoc fillRange */
|
||||||
|
bool getFillRange() const;
|
||||||
|
/*! \copydoc plotRangeLines */
|
||||||
|
bool getPlotRangeLines() const;
|
||||||
|
public slots:
|
||||||
|
/*! \brief set the color of the graph (all lines and filling) */
|
||||||
|
virtual void setColor(QColor c);
|
||||||
|
|
||||||
|
/** \brief disables all drawing features except the centerline */
|
||||||
|
void setDrawCenterLineOnly();
|
||||||
|
/*! \copydoc centerColor */
|
||||||
|
void setCenterColor(const QColor & __value);
|
||||||
|
/*! \copydoc centerStyle */
|
||||||
|
void setCenterStyle(Qt::PenStyle __value);
|
||||||
|
/*! \copydoc plotRangeLines */
|
||||||
|
void setPlotRangeLines(bool __value);
|
||||||
|
/*! \copydoc fillRange */
|
||||||
|
void setFillRange(bool __value);
|
||||||
|
/*! \copydoc plotRange */
|
||||||
|
void setPlotRange(bool __value);
|
||||||
|
/*! \copydoc invertedRange */
|
||||||
|
void setInvertedRange(bool __value);
|
||||||
|
/*! \copydoc rangeCenter */
|
||||||
|
void setRangeCenter(double __value);
|
||||||
|
/*! \copydoc plotCenterLine */
|
||||||
|
void setPlotCenterLine(bool __value);
|
||||||
|
/*! \copydoc unlimitedSizeMax */
|
||||||
|
void setUnlimitedSizeMax(bool __value);
|
||||||
|
/*! \copydoc unlimitedSizeMin */
|
||||||
|
void setUnlimitedSizeMin(bool __value);
|
||||||
|
/** \copydoc sizeMax
|
||||||
|
*
|
||||||
|
* \note this also sets unlimitedSizeMax to \c true
|
||||||
|
* \see unlimitedSizeMax
|
||||||
|
*/
|
||||||
|
void setSizeMax(double __value);
|
||||||
|
/** \copydoc sizeMin
|
||||||
|
*
|
||||||
|
* \note this also sets unlimitedSizeMin to \c true
|
||||||
|
* \see unlimitedSizeMin
|
||||||
|
*/
|
||||||
|
void setSizeMin(double __value);
|
||||||
|
/** \copydoc rangeMax*/
|
||||||
|
void setRangeMax(double __value);
|
||||||
|
/** \copydoc rangeMin*/
|
||||||
|
void setRangeMin(double __value);
|
||||||
|
protected:
|
||||||
|
/** \brief min-value of range
|
||||||
|
* \image html JKQTPRangeBase.png
|
||||||
|
*/
|
||||||
|
double rangeMin;
|
||||||
|
/** \brief max-value of range
|
||||||
|
* \image html JKQTPRangeBase.png
|
||||||
|
*/
|
||||||
|
double rangeMax;
|
||||||
|
/** \brief where to plot the center line
|
||||||
|
* \image html JKQTPRangeBase.png
|
||||||
|
*/
|
||||||
|
double rangeCenter;
|
||||||
|
/** \brief if \c unlimitedSizeMin==false, then the range rectangle only extends to this value on the axis perpendicular to the range axis (towards smaller numbers)
|
||||||
|
*
|
||||||
|
* \image html JKQTPRangeBase.png
|
||||||
|
* \see unlimitedSizeMin
|
||||||
|
*/
|
||||||
|
double sizeMin;
|
||||||
|
/** \brief if \c unlimitedSizeMax==false, then the range rectangle only extends to this value on the axis perpendicular to the range axis (towards larger numbers)
|
||||||
|
*
|
||||||
|
* \image html JKQTPRangeBase.png
|
||||||
|
* \see unlimitedSizeMax
|
||||||
|
*/
|
||||||
|
double sizeMax;
|
||||||
|
/** \brief if \c true, the range elongates infinitely in the direction perpendicular to the range axis and towards smaller numbers, otherwise the range rectangle stops at rangeMin
|
||||||
|
*
|
||||||
|
* \image html JKQTPRangeBase.png
|
||||||
|
* \see sizeMin
|
||||||
|
*/
|
||||||
|
bool unlimitedSizeMin;
|
||||||
|
/** \brief if \c true, the range elongates infinitely in the direction perpendicular to the range axis and towards larger numbers, otherwise the range rectangle stops at rangeMin
|
||||||
|
*
|
||||||
|
* \image html JKQTPRangeBase.png
|
||||||
|
* \see sizeMax
|
||||||
|
*/
|
||||||
|
bool unlimitedSizeMax;
|
||||||
|
/** \brief indicates whether to plot a center line */
|
||||||
|
bool plotCenterLine;
|
||||||
|
/** \brief if \c true, fills the parts outside the given range
|
||||||
|
*
|
||||||
|
* \image html JKQTPRangeBase_Inverted.png
|
||||||
|
*/
|
||||||
|
bool invertedRange;
|
||||||
|
/** \brief if \c true, the range is plotted, if \c false, only the center line is plotted (if \a plotCenterLine is \c true ) */
|
||||||
|
bool plotRange;
|
||||||
|
/** \brief if \c true, draws lines at the range borders \a color */
|
||||||
|
bool plotRangeLines;
|
||||||
|
/** \brief if \c true, this fills the range with \a fillColor */
|
||||||
|
bool fillRange;
|
||||||
|
/** \brief color of the center line graph */
|
||||||
|
QColor centerColor;
|
||||||
|
/** \brief linestyle of the center line graph lines */
|
||||||
|
Qt::PenStyle centerStyle;
|
||||||
|
/** \brief width (pt) of the center line graph, given in pt */
|
||||||
|
double centerLineWidth;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** \brief simply marks a range (and possibly a centerline) in a plot. This may be used to display e.g. mean +/- stddev
|
||||||
|
* or a range of interest, or the range of good values, ...
|
||||||
|
* \ingroup jkqtplotter_annotations
|
||||||
|
*
|
||||||
|
* \image html JKQTPHorizontalRange.png
|
||||||
|
*
|
||||||
|
* \see JKQTPVerticalRange
|
||||||
|
*
|
||||||
|
* <b>Explanation of basic features:</b>
|
||||||
|
*
|
||||||
|
* \copydetails JKQTPRangeBase
|
||||||
|
*/
|
||||||
|
class JKQTPLOTTER_LIB_EXPORT JKQTPHorizontalRange: public JKQTPRangeBase {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
/** \brief class constructor */
|
/** \brief class constructor */
|
||||||
@ -73,118 +238,24 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPHorizontalRange: public JKQTPGraph, public JKQ
|
|||||||
* The result is given in the two parameters which are call-by-reference parameters!
|
* The result is given in the two parameters which are call-by-reference parameters!
|
||||||
*/
|
*/
|
||||||
bool getYMinMax(double& miny, double& maxy, double& smallestGreaterZero) override;
|
bool getYMinMax(double& miny, double& maxy, double& smallestGreaterZero) override;
|
||||||
/** \brief returns the color to be used for the key label */
|
|
||||||
virtual QColor getKeyLabelColor() const override;
|
|
||||||
|
|
||||||
/** \brief disables all drawing features except the centerline */
|
|
||||||
void setDrawCenterLineOnly();
|
|
||||||
|
|
||||||
/*! \brief set the color of the graph (all lines and filling) */
|
|
||||||
virtual void setColor(QColor c);
|
|
||||||
|
|
||||||
/*! \copydoc centerColor */
|
|
||||||
void setCenterColor(const QColor & __value);
|
|
||||||
/*! \copydoc centerColor */
|
|
||||||
QColor getCenterColor() const;
|
|
||||||
/*! \copydoc centerStyle */
|
|
||||||
void setCenterStyle(Qt::PenStyle __value);
|
|
||||||
/*! \copydoc centerStyle */
|
|
||||||
Qt::PenStyle getCenterStyle() const;
|
|
||||||
/*! \copydoc centerLineWidth */
|
|
||||||
void setCenterLineWidth(double __value);
|
|
||||||
/*! \copydoc centerLineWidth */
|
|
||||||
double getCenterLineWidth() const;
|
|
||||||
/*! \copydoc rangeMin */
|
|
||||||
void setRangeMin(double __value);
|
|
||||||
/*! \copydoc rangeMin */
|
|
||||||
double getRangeMin() const;
|
|
||||||
/*! \copydoc rangeMax */
|
|
||||||
void setRangeMax(double __value);
|
|
||||||
/*! \copydoc rangeMax */
|
|
||||||
double getRangeMax() const;
|
|
||||||
/*! \copydoc sizeMin */
|
|
||||||
void setSizeMin(double __value);
|
|
||||||
/*! \copydoc sizeMin */
|
|
||||||
double getSizeMin() const;
|
|
||||||
/*! \copydoc sizeMax */
|
|
||||||
void setSizeMax(double __value);
|
|
||||||
/*! \copydoc sizeMax */
|
|
||||||
double getSizeMax() const;
|
|
||||||
/*! \copydoc unlimitedSizeMin */
|
|
||||||
void setUnlimitedSizeMin(bool __value);
|
|
||||||
/*! \copydoc unlimitedSizeMin */
|
|
||||||
bool getUnlimitedSizeMin() const;
|
|
||||||
/*! \copydoc unlimitedSizeMax */
|
|
||||||
void setUnlimitedSizeMax(bool __value);
|
|
||||||
/*! \copydoc unlimitedSizeMax */
|
|
||||||
bool getUnlimitedSizeMax() const;
|
|
||||||
|
|
||||||
/*! \copydoc rangeCenter */
|
|
||||||
void setRangeCenter(double __value);
|
|
||||||
/*! \copydoc rangeCenter */
|
|
||||||
double getRangeCenter() const;
|
|
||||||
/*! \copydoc plotCenterLine */
|
|
||||||
void setPlotCenterLine(bool __value);
|
|
||||||
/*! \copydoc plotCenterLine */
|
|
||||||
bool getPlotCenterLine() const;
|
|
||||||
/*! \copydoc invertedRange */
|
|
||||||
void setInvertedRange(bool __value);
|
|
||||||
/*! \copydoc invertedRange */
|
|
||||||
bool getInvertedRange() const;
|
|
||||||
/*! \copydoc plotRange */
|
|
||||||
void setPlotRange(bool __value);
|
|
||||||
/*! \copydoc plotRange */
|
|
||||||
bool getPlotRange() const;
|
|
||||||
/*! \copydoc fillRange */
|
|
||||||
void setFillRange(bool __value);
|
|
||||||
/*! \copydoc fillRange */
|
|
||||||
bool getFillRange() const;
|
|
||||||
/*! \copydoc plotRangeLines */
|
|
||||||
void setPlotRangeLines(bool __value);
|
|
||||||
/*! \copydoc plotRangeLines */
|
|
||||||
bool getPlotRangeLines() const;
|
|
||||||
protected:
|
|
||||||
/** \brief min-value of range */
|
|
||||||
double rangeMin;
|
|
||||||
/** \brief max-value of range */
|
|
||||||
double rangeMax;
|
|
||||||
/** \brief where to plot the center line */
|
|
||||||
double rangeCenter;
|
|
||||||
double sizeMin;
|
|
||||||
double sizeMax;
|
|
||||||
bool unlimitedSizeMin;
|
|
||||||
bool unlimitedSizeMax;
|
|
||||||
/** \brief indicates whether to plot a center line */
|
|
||||||
bool plotCenterLine;
|
|
||||||
/** \brief if \c true, fills the parts outside the given range */
|
|
||||||
bool invertedRange;
|
|
||||||
/** \brief if \c true, the range is plotted, if \c false, only the center line is plotted (if \a plotCenterLine is \c true ) */
|
|
||||||
bool plotRange;
|
|
||||||
/** \brief if \c true, draws lines at the range borders \a color */
|
|
||||||
bool plotRangeLines;
|
|
||||||
/** \brief if \c true, this fills the range with \a fillColor */
|
|
||||||
bool fillRange;
|
|
||||||
/** \brief color of the center line graph */
|
|
||||||
QColor centerColor;
|
|
||||||
/** \brief linestyle of the center line graph lines */
|
|
||||||
Qt::PenStyle centerStyle;
|
|
||||||
/** \brief width (pt) of the center line graph, given in pt */
|
|
||||||
double centerLineWidth;
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** \brief simply marks a range (and possibly a centerline) in a plot. This may be used to display e.g. mean +/- stddev
|
||||||
|
* or a range of interest, or the range of good values, ...
|
||||||
/*! \brief simply marks a range (and possibly a centerline) in a plot. This may be used to display e.g. mean +/- stddev
|
* \ingroup jkqtplotter_annotations
|
||||||
or a range of interest, or the range of good values, ...
|
*
|
||||||
\ingroup jkqtplotter_diverse
|
* \image html JKQTPVerticalRange.png
|
||||||
|
*
|
||||||
\image html JKQTPVerticalRange.png
|
* \see JKQTPHorizontalRange
|
||||||
|
*
|
||||||
|
* <b>Explanation of basic features (using the example of JKQTPHorizontalRange):</b>
|
||||||
|
*
|
||||||
|
* \copydetails JKQTPRangeBase
|
||||||
*/
|
*/
|
||||||
class JKQTPLOTTER_LIB_EXPORT JKQTPVerticalRange: public JKQTPHorizontalRange {
|
class JKQTPLOTTER_LIB_EXPORT JKQTPVerticalRange: public JKQTPRangeBase {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
/** \brief class constructor */
|
/** \brief class constructor */
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
|
|
||||||
/*! \brief This implements a single vertical <a href="https://en.wikipedia.org/wiki/Violin_plot">Violin Plot</a> as a "geometric element"
|
/*! \brief This implements a single vertical <a href="https://en.wikipedia.org/wiki/Violin_plot">Violin Plot</a> as a "geometric element"
|
||||||
\ingroup jkqtplotter_statgraphs
|
\ingroup jkqtplotter_statgraphs
|
||||||
\ingroup jkqtplotter_geoplots
|
\ingroup jkqtplotter_diverse
|
||||||
|
|
||||||
Draws a vertical violin plot in one of the following styles:
|
Draws a vertical violin plot in one of the following styles:
|
||||||
|
|
||||||
@ -167,7 +167,7 @@ class JKQTPLOTTER_LIB_EXPORT JKQTPViolinplotVerticalElement: public JKQTPPlotObj
|
|||||||
|
|
||||||
/*! \brief This implements a single horizontal <a href="https://en.wikipedia.org/wiki/Violin_plot">Violin Plot</a> as a "geometric element"
|
/*! \brief This implements a single horizontal <a href="https://en.wikipedia.org/wiki/Violin_plot">Violin Plot</a> as a "geometric element"
|
||||||
\ingroup jkqtplotter_statgraphs
|
\ingroup jkqtplotter_statgraphs
|
||||||
\ingroup jkqtplotter_geoplots
|
\ingroup jkqtplotter_diverse
|
||||||
|
|
||||||
Draws a horizontal violin plot in one of the following styles:
|
Draws a horizontal violin plot in one of the following styles:
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user