产品概览
Qt-UI ChartKit
ChartKit 是面向 Qt Widget 桌面程序的数据可视化控件库。当前图表控件采用自绘 OpenGL 渲染体系,对外暴露 ChartKit 自身的控件类与数据结构。业务代码应通过 ChartKit 的公开控件方法设置数据、主题和交互。
基类结构
ChartKit 的核心基类是 UIGQChartBase:
| 类型 | 说明 |
|---|---|
UIGQChartBase |
图表渲染基类,继承 QOpenGLWidget,负责主题、图例位置、背景、动画和 tooltip overlay。 |
IUIGQWidgetBase |
Qt-UI 控件统一接口,图表控件通过它接入 WidgetKit 的控件注册、JSON、布局和样式体系。 |
UIGQChartTheme |
图表主题结构,包含背景、绘图区、标题、坐标轴、网格线、hover guide 和调色板。 |
类图
QWidget
└─ QOpenGLWidget
└─ UIGQtLib::UIGQChartBase
├─ UIGQtLib::UIGQLineChart + IUIGQWidgetBase
├─ UIGQtLib::UIGQBarChart + IUIGQWidgetBase
├─ UIGQtLib::UIGQOpenGLPieChart + IUIGQWidgetBase
└─ UIGQtLib::UIGQScatterChart + IUIGQWidgetBase
当前图表类型
| 图表 | 控件类 | typeName | 数据入口 |
|---|---|---|---|
| 折线图 | UIGQLineChart |
qtlinechart |
setCategories(...) + setSeries(...) |
| 柱状图 | UIGQBarChart |
qtbarchart |
setCategories(...) + setSeries(...) |
| 饼图 | UIGQOpenGLPieChart |
qtopenglpiechart |
setSlices(...) |
| 散点图 | UIGQScatterChart |
qtscatterchart |
setSeries(...) |
通用调用顺序
- 创建图表控件并加入父容器。
- 设置标题、分类、数据 series 或 slices。
- 设置主题、图例位置、背景、动画和 tooltip。
- 业务数据变化时重新调用
setSeries(...)或setSlices(...)。
using namespace UIGQtLib;
auto* chart = new UIGQLineChart(parent);
chart->setTitle("Revenue Trend");
chart->setCategories({"Q1", "Q2", "Q3", "Q4"});
chart->setSeries("Revenue", {120.0, 160.0, 148.0, 210.0}, QColor(35, 128, 224));
chart->setThemePreset(kChartThemeMacarons);
chart->setLegendPosition(kChartLegendBottom);
chart->setTooltipVisible(true);
chart->setHoverEnabled(true);
调用入口
业务代码应调用 ChartKit 控件公开的 setSeries(...)、setCategories(...)、setSlices(...)、setThemePreset(...) 等方法。图表内部渲染对象由控件管理,不作为业务 API 暴露。
快速接入
快速开始
本节使用真实的 ChartKit 公开接口创建一个折线图。ChartKit 图表控件本身就是 QWidget,可直接放入 Qt Widget 页面、布局或 Qt-UI 容器中。
1. 引入头文件
#include "UIGQLineChart.h"
#include "UIGQChartTheme.h"
如果需要其它图表类型,引入对应头文件:
#include "UIGQBarChart.h"
#include "UIGQOpenGLPieChart.h"
#include "UIGQScatterChart.h"
2. 创建图表
using namespace UIGQtLib;
auto* chart = new UIGQLineChart(parent);
chart->setMinimumSize(640, 360);
chart->setTitle("Monthly Orders");
调用说明:
| 方法 | 说明 | 参数 | 返回值 |
|---|---|---|---|
new UIGQLineChart(parent) |
创建折线图控件,并交给 Qt 父子对象生命周期管理。 | parent:父 QWidget,可为 nullptr。 |
UIGQLineChart* |
setMinimumSize(int minw, int minh) |
设置控件最小尺寸,避免布局压缩导致图表不可读。 | minw:最小宽度;minh:最小高度。 |
void |
setTitle(const QString& title) |
设置图表标题。 | title:标题文本。 |
void |
3. 设置分类和数据
chart->setCategories({"Jan", "Feb", "Mar", "Apr", "May"});
chart->setSeries("Orders", {128, 152, 176, 163, 209}, QColor(35, 128, 224));
调用说明:
| 方法 | 说明 | 参数 | 返回值 |
|---|---|---|---|
setCategories(const QStringList& categories) |
设置 X 轴分类标签。 | categories:分类名称列表。 |
void |
setSeries(const QString& name, const QVector<double>& values, const QColor& color) |
设置单条数据序列,适合快速接入。 | name:序列名称;values:数值列表;color:序列颜色,可使用默认值。 |
void |
4. 设置主题和交互
chart->setThemePreset(kChartThemeMacarons);
chart->setLegendPosition(kChartLegendBottom);
chart->setTooltipMode(kChartTooltipItem);
chart->setTooltipVisible(true);
chart->setHoverEnabled(true);
chart->setAnimationEnabled(true);
调用说明:
| 方法 | 说明 | 参数 | 返回值 |
|---|---|---|---|
setThemePreset(UIGQChartThemePreset preset) |
使用内置主题预设。 | preset:主题预设枚举。 |
void |
setLegendPosition(UIGQChartLegendPosition position) |
设置图例位置。 | position:图例位置枚举。 |
void |
setTooltipMode(UIGQChartTooltipMode mode) |
设置 tooltip 行为。 | mode:kChartTooltipNone、kChartTooltipItem 或 kChartTooltipAxis。 |
void |
setTooltipVisible(bool visible) |
控制 tooltip 是否显示。 | visible:是否显示。 |
void |
setHoverEnabled(bool enabled) |
控制鼠标 hover 交互。 | enabled:是否启用 hover。 |
void |
setAnimationEnabled(bool enabled) |
控制数据绘制动画。 | enabled:是否启用动画。 |
void |
5. 更新数据
业务数据变化时,不要操作内部 QtCharts 对象,直接重新设置 ChartKit 数据:
chart->setSeries("Orders", latestValues, QColor(35, 128, 224));
chart->restartAnimation();
restartAnimation() 用于在数据刷新后重新播放图表动画。
使用指南
使用指南
ChartKit 的调用模型是“控件 + 数据结构 + 主题”。业务代码只需要准备分类、数值、点位或切片数据,再交给对应图表控件。
基类能力
所有当前 ChartKit 图表都继承 UIGQChartBase,并提供以下通用能力:
| 方法 | 说明 | 参数 | 返回值 |
|---|---|---|---|
setThemePreset(UIGQChartThemePreset preset) |
使用内置主题预设。 | preset:kChartThemeDefault、kChartThemeMacarons、kChartThemeShine、kChartThemeDark。 |
void |
getThemePreset() |
读取当前主题预设。 | 无。 | UIGQChartThemePreset |
setTheme(const UIGQChartTheme& theme) |
使用自定义主题结构。 | theme:图表主题结构,包含背景、坐标轴、网格线、调色板等。 |
void |
getTheme() |
读取当前主题结构。 | 无。 | const UIGQChartTheme& |
setLegendPosition(UIGQChartLegendPosition position) |
设置图例位置。 | position:kChartLegendTop、kChartLegendRight、kChartLegendBottom、kChartLegendLeft。 |
void |
getLegendPosition() |
读取当前图例位置。 | 无。 | UIGQChartLegendPosition |
setBackgroundColor(const QColor& color) |
设置图表控件背景色。 | color:背景颜色。 |
void |
getBackgroundColor() |
读取图表控件背景色。 | 无。 | QColor |
setAnimationEnabled(bool enabled) |
开启或关闭动画。 | enabled:是否启用动画。 |
void |
getAnimationEnabled() |
读取动画开关状态。 | 无。 | bool |
setAnimationDuration(int durationMs) |
设置动画时长。 | durationMs:动画时长,单位毫秒。 |
void |
getAnimationDuration() |
读取动画时长。 | 无。 | int |
restartAnimation() |
数据更新后重新播放动画。 | 无。 | void |
getAnimationProgress() |
读取当前动画进度。 | 无。 | qreal |
setTooltipOverlay(const QPoint& anchorPos, const QString& text) |
设置 tooltip overlay。 | anchorPos:提示框锚点;text:提示文本。 |
void |
clearTooltipOverlay() |
清除 tooltip overlay。 | 无。 | void |
hasTooltipOverlay() |
判断当前是否存在 tooltip overlay。 | 无。 | bool |
drawTooltipOverlay(QPainter& painter) |
绘制 tooltip overlay,通常由图表内部调用。 | painter:绘制对象。 |
void |
数据调用规范
| 图表类型 | 主要数据结构 | 推荐入口 |
|---|---|---|
| 折线图 | UIGQLineChartSeries |
setCategories(...) + setSeries(...) |
| 柱状图 | UIGQBarChartSeries |
setCategories(...) + setSeries(...) |
| 饼图 | UIGQOpenGLPieChartSlice |
setSlices(...) |
| 散点图 | UIGQScatterChartSeries |
setSeries(...) |
推荐调用流程
auto* chart = new UIGQBarChart(parent);
chart->setTitle("Policy Status");
chart->setCategories({"Active", "Expiring", "Invalid"});
QVector<UIGQBarChartSeries> series;
UIGQBarChartSeries item;
item.name = "Policies";
item.values = {420, 15, 30};
item.fillColor = QColor(35, 128, 224);
series.append(item);
chart->setSeries(series);
chart->setThemePreset(kChartThemeShine);
chart->setTooltipVisible(true);
chart->setHoverEnabled(true);
调用说明
setCategories(...)与 values 的数量应保持一致;如果数量不同,图表会按可绘制的数据范围处理,业务侧仍建议保持一致。- 多序列图表使用
QVector<UIGQLineChartSeries>或QVector<UIGQBarChartSeries>,不要重复访问内部 series。 clearSeries()/clearSlices()用于清空当前数据。setSeriesVisible(index, visible)用于在不删除数据的情况下控制序列显示。- 主题相关设置建议放在初始化或全局主题切换流程中。
调用边界
当前 ChartKit 不以 QtCharts 内部对象作为业务调用入口。业务侧只需要维护数据结构、主题和交互参数,图表内部渲染对象由控件自行管理。
折线图
Line Chart 折线图
折线图用于展示连续数据趋势,适合监控曲线、业务指标走势、历史对比和时序数据分析。
基类与类图
QOpenGLWidget
└─ UIGQChartBase
└─ UIGQLineChart + IUIGQWidgetBase
UIGQLineChart 继承 UIGQChartBase 的主题、动画、图例和 tooltip 能力,并通过 IUIGQWidgetBase 接入 Qt-UI 控件体系。
数据结构
struct UIGQLineChartSeries
{
QString name;
QVector<double> values;
QColor lineColor;
QColor areaColor;
bool showSymbol = true;
bool smooth = false;
bool showArea = false;
bool visible = true;
qreal lineWidth = 2.0;
qreal areaOpacity = 0.22;
};
常用方法
| 方法 | 说明 | 参数 | 返回值 |
|---|---|---|---|
setTitle(const QString& title) |
设置标题。 | title:标题文本。 |
void |
getTitle() |
读取标题。 | 无。 | QString |
setCategories(const QStringList& categories) |
设置分类标签。 | categories:横轴分类列表。 |
void |
getCategories() |
读取分类标签。 | 无。 | QStringList |
setValues(const QVector<double>& values) |
设置默认单序列数值。 | values:数值列表。 |
void |
getValues() |
读取默认单序列数值。 | 无。 | QVector<double> |
setSeries(const QString& name, const QVector<double>& values, const QColor& color) |
快速设置单条折线。 | name:序列名称;values:数值列表;color:线条颜色,可使用默认值。 |
void |
setSeries(const QVector<UIGQLineChartSeries>& series) |
设置多条折线及每条线的显示参数。 | series:折线序列数组。 |
void |
getSeries() |
读取当前折线序列。 | 无。 | QVector<UIGQLineChartSeries> |
clearSeries() |
清空所有折线数据。 | 无。 | void |
setShowSymbol(bool show) |
全局控制数据点符号。 | show:是否显示数据点符号。 |
void |
getShowSymbol() |
读取数据点符号显示状态。 | 无。 | bool |
setSmooth(bool smooth) |
全局控制是否使用平滑曲线。 | smooth:是否平滑。 |
void |
getSmooth() |
读取平滑曲线状态。 | 无。 | bool |
setShowArea(bool show) |
全局控制是否显示面积填充。 | show:是否显示面积。 |
void |
getShowArea() |
读取面积填充状态。 | 无。 | bool |
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 UIGQLineChart(parent);
chart->setTitle("CPU Usage");
chart->setCategories({"00:00", "00:05", "00:10", "00:15"});
chart->setSeries("CPU", {22.0, 35.0, 31.0, 48.0}, QColor(35, 128, 224));
chart->setSmooth(true);
chart->setShowSymbol(true);
chart->setThemePreset(kChartThemeMacarons);
chart->setTooltipMode(kChartTooltipAxis);
chart->setTooltipVisible(true);
调用说明:
setCategories(...)设置横轴标签。setSeries(...)设置折线名称、数值和颜色。setSmooth(true)适合趋势类图表;精确折线可保持默认false。kChartTooltipAxis适合按横轴位置查看同一时刻的值。
多序列调用
QVector<UIGQLineChartSeries> series;
UIGQLineChartSeries cpu;
cpu.name = "CPU";
cpu.values = {22, 35, 31, 48};
cpu.lineColor = QColor(35, 128, 224);
cpu.showSymbol = true;
series.append(cpu);
UIGQLineChartSeries memory;
memory.name = "Memory";
memory.values = {58, 60, 63, 61};
memory.lineColor = QColor(62, 180, 98);
memory.showArea = true;
memory.areaColor = QColor(62, 180, 98, 80);
series.append(memory);
chart->setSeries(series);
调用说明:
- 多序列使用
QVector<UIGQLineChartSeries>一次性设置。 showArea与areaColor用于面积趋势图。visible可配合setSeriesVisible(...)做图例筛选。
柱状图
Bar Chart 柱状图
柱状图用于分类数据对比、排行、统计汇总和分组指标展示。当前公开控件类为 UIGQBarChart,文档文件名保留 column-chart.md 是为了兼容既有页面链接。
基类与类图
QOpenGLWidget
└─ UIGQChartBase
└─ UIGQBarChart + IUIGQWidgetBase
UIGQBarChart 继承 UIGQChartBase,通过 ChartKit 自身的数据结构绘制柱状图。业务代码只需要设置分类、序列、主题和交互参数。
数据结构
struct UIGQBarChartSeries
{
QString name;
QVector<double> values;
QColor fillColor;
QColor borderColor;
bool visible = true;
};
常用方法
| 方法 | 说明 | 参数 | 返回值 |
|---|---|---|---|
setTitle(const QString& title) |
设置标题。 | title:标题文本。 |
void |
getTitle() |
读取标题。 | 无。 | QString |
setCategories(const QStringList& categories) |
设置分类标签。 | categories:分类名称列表。 |
void |
getCategories() |
读取分类标签。 | 无。 | QStringList |
setValues(const QVector<double>& values) |
设置默认单序列数值。 | values:数值列表。 |
void |
getValues() |
读取默认单序列数值。 | 无。 | QVector<double> |
setSeries(const QString& name, const QVector<double>& values, const QColor& color) |
快速设置单组柱状数据。 | name:序列名称;values:数值列表;color:填充色,可使用默认值。 |
void |
setSeries(const QVector<UIGQBarChartSeries>& series) |
设置多组柱状数据。 | series:柱状图序列数组。 |
void |
getSeries() |
读取当前柱状图序列。 | 无。 | QVector<UIGQBarChartSeries> |
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 UIGQBarChart(parent);
chart->setTitle("Policy Overview");
chart->setCategories({"Active", "Expiring Soon", "Need Validation", "Expired"});
chart->setSeries("Policies", {420, 15, 30, 12}, QColor(35, 128, 224));
chart->setThemePreset(kChartThemeShine);
chart->setLegendPosition(kChartLegendBottom);
chart->setTooltipMode(kChartTooltipItem);
chart->setTooltipVisible(true);
chart->setHoverEnabled(true);
调用说明:
setCategories(...)定义每根柱子的分类名称。setSeries(name, values, color)适合只有一组统计值的场景。kChartTooltipItem适合查看单个柱子的分类和值。
多序列调用
QVector<UIGQBarChartSeries> series;
UIGQBarChartSeries current;
current.name = "Current";
current.values = {420, 15, 30, 12};
current.fillColor = QColor(35, 128, 224);
series.append(current);
UIGQBarChartSeries previous;
previous.name = "Previous";
previous.values = {390, 22, 28, 18};
previous.fillColor = QColor(62, 180, 98);
series.append(previous);
chart->setSeries(series);
调用说明:
- 每个
UIGQBarChartSeries表示一组柱状数据。 values的顺序应与categories对齐。fillColor控制柱子填充色,borderColor可用于强调边框。
饼图
Pie Chart 饼图
饼图用于展示整体中的占比关系,适合构成分析、分类占用、资源分布和摘要型数据呈现。当前公开控件类为 UIGQOpenGLPieChart。
基类与类图
QOpenGLWidget
└─ UIGQChartBase
└─ UIGQOpenGLPieChart + IUIGQWidgetBase
数据结构
struct UIGQOpenGLPieChartSlice
{
QString name;
double value = 0.0;
QColor fillColor;
bool visible = true;
};
常用方法
| 方法 | 说明 | 参数 | 返回值 |
|---|---|---|---|
setTitle(const QString& title) |
设置标题。 | title:标题文本。 |
void |
getTitle() |
读取标题。 | 无。 | QString |
setSlices(const QVector<UIGQOpenGLPieChartSlice>& slices) |
设置饼图切片。 | slices:切片数组。 |
void |
getSlices() |
读取饼图切片。 | 无。 | QVector<UIGQOpenGLPieChartSlice> |
clearSlices() |
清空所有切片。 | 无。 | void |
setInnerRadiusRatio(qreal ratio) |
设置内半径比例,0 为普通饼图,大于 0 为环图。 |
ratio:内半径比例。 |
void |
getInnerRadiusRatio() |
读取内半径比例。 | 无。 | qreal |
setAngleRange(qreal startAngleDegrees, qreal spanAngleDegrees) |
设置起始角度和绘制角度范围。 | startAngleDegrees:起始角度;spanAngleDegrees:角度跨度。 |
void |
getStartAngle() |
读取起始角度。 | 无。 | qreal |
getSpanAngle() |
读取角度跨度。 | 无。 | qreal |
setLeaderLineVisible(bool visible) |
控制引导线显示。 | visible:是否显示。 |
void |
getLeaderLineVisible() |
读取引导线显示状态。 | 无。 | 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 UIGQOpenGLPieChart(parent);
chart->setTitle("Traffic Sources");
QVector<UIGQOpenGLPieChartSlice> slices;
UIGQOpenGLPieChartSlice search;
search.name = "Search";
search.value = 1048;
search.fillColor = QColor(35, 128, 224);
slices.append(search);
UIGQOpenGLPieChartSlice direct;
direct.name = "Direct";
direct.value = 735;
direct.fillColor = QColor(62, 180, 98);
slices.append(direct);
chart->setSlices(slices);
chart->setThemePreset(kChartThemeMacarons);
chart->setTooltipMode(kChartTooltipItem);
chart->setTooltipVisible(true);
chart->setHoverEnabled(true);
调用说明:
setSlices(...)是饼图的数据入口。- 每个
UIGQOpenGLPieChartSlice表示一个切片。 value用于计算占比,业务侧不需要提前计算百分比。
环图和角度控制
chart->setInnerRadiusRatio(0.55);
chart->setAngleRange(90.0, 360.0);
chart->setLeaderLineVisible(true);
调用说明:
setInnerRadiusRatio(0.55)将饼图变为环图。setAngleRange(...)可用于半圆图、仪表盘式占比或特殊视觉呈现。setLeaderLineVisible(true)适合标签较多的构成分析图。
散点图
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(...)可用于图例筛选或用户切换分组。
授权说明
License
ChartKit provides community, annual commercial, and permanent commercial editions.
Choose the edition according to your project scope, update expectations, and support needs.