散点图
Scatter Chart 散点图
散点图用于观察两个变量之间的分布关系,适合相关性分析、聚类观察、异常点识别和样本分布展示。
基类与类图
QOpenGLWidget
└─ UIGQChartBase
└─ UIGQScatterChart + IUIGQWidgetBase
数据结构
struct UIGQScatterChartSeries
{
QString name;
QVector<QPointF> points;
QColor color;
bool visible = true;
qreal symbolSize = 8.0;
};
常用方法
| 方法 | 说明 | 参数 | 返回值 |
|---|---|---|---|
setTitle(const QString& title) |
设置标题。 | title:标题文本。 |
void |
getTitle() |
读取标题。 | 无。 | QString |
setSeries(const QVector<UIGQScatterChartSeries>& series) |
设置散点序列。 | series:散点序列数组。 |
void |
getSeries() |
读取散点序列。 | 无。 | QVector<UIGQScatterChartSeries> |
clearSeries() |
清空所有序列。 | 无。 | void |
setSeriesVisible(int index, bool visible) |
控制指定序列显示或隐藏。 | index:序列索引;visible:是否显示。 |
void |
isSeriesVisible(int index) |
判断指定序列是否显示。 | index:序列索引。 |
bool |
setTooltipMode(UIGQChartTooltipMode mode) |
设置 tooltip 模式。 | mode:tooltip 模式枚举。 |
void |
getTooltipMode() |
读取 tooltip 模式。 | 无。 | UIGQChartTooltipMode |
setTooltipVisible(bool visible) |
设置 tooltip 是否显示。 | visible:是否显示。 |
void |
getTooltipVisible() |
读取 tooltip 显示状态。 | 无。 | bool |
setHoverEnabled(bool enabled) |
开启或关闭 hover 交互。 | enabled:是否启用 hover。 |
void |
getHoverEnabled() |
读取 hover 交互状态。 | 无。 | bool |
initDemoData() |
初始化演示数据。 | 无。 | void |
基础调用
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);
调用说明:
points中的QPointF(x, y)表示散点坐标。- 每个
UIGQScatterChartSeries表示一个分组。 symbolSize控制散点半径大小,适合强调不同分组。setSeriesVisible(...)可用于图例筛选或用户切换分组。