首页 新闻 会员 周边

Qt怎么绘制三维曲线图啊

0
悬赏园豆:40 [已解决问题] 解决于 2023-04-10 15:26

Qt怎么绘制三维曲线图啊,有没有源码什么的,我求求;

景哈哈的主页 景哈哈 | 初学一级 | 园豆:7
提问于:2023-04-04 11:37
< >
分享
最佳答案
1

在Qt中绘制三维曲线图可以使用Qt Data Visualization模块。该模块提供了绘制3D图表的功能,包括曲线图、散点图、面积图、柱状图等等。以下是一个简单的示例代码,展示如何使用Qt Data Visualization绘制三维曲线图:

arduino

include <QtWidgets/QApplication>

include <QtDataVisualization/q3dscatter.h>

include <QtDataVisualization/qscatterdataproxy.h>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);

// 创建3D散点图
QtDataVisualization::Q3DScatter *scatter = new QtDataVisualization::Q3DScatter();
QWidget *container = QWidget::createWindowContainer(scatter);
container->setMinimumSize(800, 600);
container->setWindowTitle(QStringLiteral("3D Scatter Example"));
container->show();

// 创建数据代理
QtDataVisualization::QScatterDataProxy *proxy = new QtDataVisualization::QScatterDataProxy();

// 添加数据
QtDataVisualization::QScatterDataArray dataArray;
int sampleCount = 100;
for (int i = 0; i < sampleCount; i++) {
    float x = (float)i / (float)sampleCount;
    float y = sin(x * 20.0f);
    float z = cos(x * 20.0f);
    dataArray << QVector3D(x, y, z);
}
proxy->resetArray(dataArray);

// 创建曲线系列
QtDataVisualization::QScatter3DSeries *series = new QtDataVisualization::QScatter3DSeries(proxy);

// 添加系列
scatter->addSeries(series);

return app.exec();

}
该示例代码使用Q3DScatter创建了一个3D散点图,并且使用QScatter3DSeries绘制了一个曲线系列。在QScatterDataArray中添加的数据表示曲线的坐标点,可以根据具体需求修改。

可以通过参考Qt Data Visualization模块的官方文档来了解更多绘制3D图表的相关内容。

收获园豆:35
Technologyforgood | 大侠五级 |园豆:5539 | 2023-04-06 20:01

我试试,谢谢

景哈哈 | 园豆:7 (初学一级) | 2023-04-07 13:20
其他回答(2)
0
收获园豆:5
ycyzharry | 园豆:25651 (高人七级) | 2023-04-04 23:09

我知道,但是曲线轨迹图怎么画,不是曲面

支持(1) 反对(0) 景哈哈 | 园豆:7 (初学一级) | 2023-04-07 13:20
0
江震雨扬11 | 园豆:202 (菜鸟二级) | 2023-10-08 10:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册