Enumerations
All enumerations are scoped within AZPlottingClass and use C++11
enum class for type safety.
ScaleType
enum class ScaleType { Linear, Logarithmic, SymLog };
Defines the mathematical transformation applied to axis values.
| Value | Description |
|---|---|
Linear |
Standard linear scale. No transformation applied. |
Logarithmic |
Base-10 logarithmic scale. Only positive values are displayed; negative and zero values are clamped to a small positive threshold. |
SymLog |
Symmetric logarithmic scale. Handles negative values by applying sign(x) * log10(1 + |x|/threshold). The region around zero uses linear scaling controlled by linearThreshold and linearWidth. |
SymLog for TEM Data
SymLog is particularly useful for EM data that may have both positive and negative values
(e.g., phase-resolved measurements) while still spanning multiple orders of magnitude.
LineStyle
enum class LineStyle { Solid, Dashed, Dotted, DashDot, None };
Defines the stroke pattern for line series.
| Value | Pattern |
|---|---|
Solid |
Continuous line |
Dashed |
Long dashes |
Dotted |
Dots |
DashDot |
Alternating dash-dot |
None |
No line (markers only if combined with scatter) |
MarkerStyle
enum class MarkerStyle { None, Circle, Square, Diamond, Triangle, Cross, Plus, Star };
Defines the shape of data point markers.
| Value | Shape |
|---|---|
None | No markers (line only) |
Circle | Filled circle |
Square | Filled square |
Diamond | Filled diamond |
Triangle | Filled triangle |
Cross | X mark |
Plus | Plus sign + |
Star | Star shape |
TimeUnit
enum class TimeUnit { Seconds, Milliseconds, Microseconds, Auto };
Used with setXAxisTimeFormat() to format the X-axis as a time scale.
| Value | Tick Format |
|---|---|
Seconds | Values displayed as seconds (s) |
Milliseconds | Values displayed as milliseconds (ms) |
Microseconds | Values displayed as microseconds (μs) |
Auto | Automatically selects unit based on range |
Axis
enum class Axis { X, Y, Y2, All };
Used with setAxisTickStyle() to target specific axes.
| Value | Description |
|---|---|
X | Bottom X-axis |
Y | Left Y-axis (primary) |
Y2 | Right Y-axis (secondary) |
All | Apply to all axes |
Usage Example
// Using scoped enums
plot->setXAxisScale(AZPlottingClass::ScaleType::Logarithmic);
plot->setYAxisScale(AZPlottingClass::ScaleType::SymLog);
// Line with markers
plot->addLineMarkerSeries(x, y, "Data",
Qt::blue,
AZPlottingClass::LineStyle::Solid,
AZPlottingClass::MarkerStyle::Circle,
1.5, // lineWidth
6.0 // markerSize
);
// Model line (dashed, no markers)
plot->addDataSeries(x, model, "Model",
Qt::red,
AZPlottingClass::LineStyle::Dashed,
1.0
);