Scatter Chart

Scatter Chart

Scatter charts show relationships between two numeric dimensions, such as correlation, distribution, clusters, and outliers.

Base and Class Diagram

QOpenGLWidget
  └─ UIGQChartBase
      └─ UIGQScatterChart + IUIGQWidgetBase

Data Structure

struct UIGQScatterChartSeries
{
    QString name;
    QVector<QPointF> points;
    QColor color;
    bool visible = true;
    qreal symbolSize = 8.0;
};

Methods

Method Description Parameters Return
setTitle(const QString& title) Sets the title. title: title text. void
getTitle() Reads the title. None. QString
setSeries(const QVector<UIGQScatterChartSeries>& series) Sets scatter series. series: scatter series array. void
getSeries() Reads scatter series. None. QVector<UIGQScatterChartSeries>
clearSeries() Removes all series. None. void
setSeriesVisible(int index, bool visible) Shows or hides a series. index: series index; visible: whether the series is visible. void
isSeriesVisible(int index) Checks whether a series is visible. index: series index. bool
setTooltipMode(UIGQChartTooltipMode mode) Sets tooltip mode. mode: tooltip mode enum. void
getTooltipMode() Reads tooltip mode. None. UIGQChartTooltipMode
setTooltipVisible(bool visible) Shows or hides tooltip. visible: whether tooltip is visible. void
getTooltipVisible() Reads tooltip visibility. None. bool
setHoverEnabled(bool enabled) Enables or disables hover interaction. enabled: whether hover is enabled. void
getHoverEnabled() Reads hover interaction state. None. bool
initDemoData() Loads demo data. None. void

Example

using namespace UIGQtLib;

auto* chart = new UIGQScatterChart(parent);
chart->setTitle("Validation Samples");

QVector<UIGQScatterChartSeries> series;

UIGQScatterChartSeries passed;
passed.name = "Passed";
passed.points = {QPointF(12, 80), QPointF(18, 88), QPointF(25, 91)};
passed.color = QColor(62, 180, 98);
passed.symbolSize = 8.0;
series.append(passed);

UIGQScatterChartSeries warning;
warning.name = "Warning";
warning.points = {QPointF(10, 52), QPointF(20, 58), QPointF(28, 61)};
warning.color = QColor(232, 148, 54);
warning.symbolSize = 10.0;
series.append(warning);

chart->setSeries(series);
chart->setThemePreset(kChartThemeShine);
chart->setTooltipMode(kChartTooltipItem);
chart->setTooltipVisible(true);
chart->setHoverEnabled(true);

Each QPointF(x, y) is one scatter point. Each UIGQScatterChartSeries represents one group.