需要快速c++ qt/qwt散点图
Need fast c++ qt/qwt scatter plot
我有一个巨大的2D点数组(大约300万对),我需要在基于qt的应用程序中以合理的速度渲染。
我尝试过使用QGraphicsScene
,但即使在400000个原语上也很慢,所以我正在寻找qwt库。
它的sourceforge页面上有一个散点图示例截图,看起来正是我需要的,但我找不到任何类型的实际代码,可以用于这个数据,也没有根据API在qwt文档-它只提到不同类型的曲线。
所以得到一些散点图示例的指针和一些关于其性能的建议是很好的。对于其他c++ qt兼容的绘图库的建议也很受欢迎,这些库可以处理大量的数据。
散点图包含在"realtime"示例中:您想要的是IncrementalPlot
类。我还建议,绘制所有300万个点是不合理的,因为现代屏幕只有大约200万像素:)因此,通过将相邻的点合并成一个依赖于缩放因子的阈值,似乎更好地事先简化绘图。
正如viens指出的那样,生成300万个点的散点图可能不是个好主意。
我使用OpenGL生成了30,000个点的3D散点图,取得了很好的性能。OpenGL速度快,与Qt集成得很好,但是,它是一个低级API,迫使你做很多繁琐的编码。
VTK可能是另一个选择。
MathGL是免费的(GPL)跨平台绘图库。它是用c++编写的,并具有Qt小部件。而且它相当快,但是300万点…在我的笔记本电脑上画一个图大约需要30秒。
你会建议使用OpenGL作为@vines说,特别是利用或显示列表glGenList
或顶点缓冲区。用一百万个点作为基本顶点应该不难。
相关文章:
- 将误差线添加到 VTK 二维散点图
- 分布MPI散点错误的数字
- 返回字符串的散点回文计数
- 用于散点图的排序浮点向量(C++ / QCustomPlot)
- MPI矩阵乘法使用散点并收集
- 有可能在Windows中获得触摸触点的物理形状(位图)吗
- 使用CGAL的Voronoi图:仅提取边缘点(凸壳)
- 读取图形可视化的点文件,而无需在提升图中存储节点 ID
- 打印无向图的边(点)
- 使用基本类型标记的增强图边缘的简单点输出
- 如何将 Qwt 图绘制到图像中
- 点簇的Voronoi图
- 问题对 2 个数组使用散点
- 获取图形上散点的坐标
- 如何在C++中绘制直方图和点图并保存到图片中
- 使用OpenGL在c++中绘制带有大量数据点的散点图的最佳方法
- 需要快速c++ qt/qwt散点图
- 为什么我的散点代码的性能比Vc SIMD更好
- 如何在Vtk中绘制带有空圆的散点图
- 我如何在c++中绘制3d散点图