当前位置: 首页 > 面试题库 >

如何实时在所有缩放级别上准确绘制大数据矢量?

潘飞英
2023-03-14
问题内容

我有大型数据集(10 Hz数据,因此每24小时需要864k点),需要实时绘制。这个想法是用户可以缩放和平移到高度详细的散点图。

数据不是很连续,并且存在峰值。由于数据集太大,因此每次刷新图时我都无法绘制每个点。

但是我也不能只画出第n个点,否则我会错过主要特征,例如大而短的尖峰。

Matlab做得对。您可以给它一个全为零的864k向量,只需将任何一个点设置为1,它就会通过缩放和平移实时正确绘制。

Matlab是如何做到的?

我的目标系统是Java,因此我将在Swing / Java2D中生成此图的视图。


问题答案:

您应该尝试使用MATLAB Central中的文件:

https://mathworks.com/matlabcentral/fileexchange/15850-dsplot-downsampled-
plot

来自作者:

此版本的“绘图”将使您可视化包含大量元素的数据。绘制大型数据集会使图形变慢,但是大多数情况下,您不需要绘制中显示的所有信息。您的屏幕只有这么多像素,您的眼睛将无法检测到屏幕上未捕获的任何信息。

此功能将对数据进行下采样并仅绘制数据的子集,从而改善了内存需求。放大绘图时,会显示更多信息。已完成一些工作以确保捕获异常值。

句法:

dsplot(x, y)  
dsplot(y)  
dsplot(x, y, numpoints)

例:

x =linspace(0, 2*pi, 1000000);  
y1=sin(x)+.02*cos(200*x)+0.001*sin(2000*x)+0.0001*cos(20000*x);  
dsplot(x,y1);


 类似资料:
  • 我在搜索中没有找到答案,所以有一些答案,但它们对我不起作用。 我在地图上有2个标记,我正在使用LatLngBound生成器,以便让相机缩放到正确的缩放级别以将它们都包括在内。除了一件事之外,一切都如预期的那样工作,当两个标记彼此非常接近时,地图是非常非常缩放的,嗯,这种缩放水平没有任何意义。 有没有办法强制进行一定程度的缩放,之后相机将无法缩放?这样可以避免地图太过放大/缩小。基本上,我使用15.

  • 我正在尝试在我的Android应用程序中使用矢量绘图。从…起http://developer.android.com/training/material/drawables.html(我的重点): 在Android 5.0(API Level 21)及以上版本中,您可以定义矢量绘图,而不会丢失定义。 使用此绘图: 这个图像视图: 当试图以400dp的速度显示图标时(在大约2015年运行Lollip

  • 我想绘制以按钮为中心的缩放SVGPath节点。按钮应该保持其大小与图像大小无关,SVGPaths应该保留它们的相对位置。 问题是按钮图像被移位了。

  • 我正在使用必应地图v8控件。 这里有一个片段: 您可以看到它在桌面上工作,方法是将上面的代码段粘贴到这里并点击run:https://www.bing.com/api/maps/sdk/mapcontrol/isdk/adddefaultpushpin#js 不幸的是,这个游乐场不允许你在移动模式下自定义脚本,当你在游乐场中来回切换chrome到移动时,行为不会重现(我可以通过在自己的应用程序中的

  • 我使用传单允许在地图上绘制自定义SVG路径(多边形)。问题是,当用户缩小时,多边形变得太大,并模糊了地图的其余部分。 我在网上查找了一些例子,我遇到的资源使用了D3.geo库中的geo函数。而在我的用例中,我在地图上使用d3、传单和一个SVG层。 有没有一个公式,我可以适用于调整对象的大小正确?我知道我将不得不应用一个翻译功能,这将基于宽度,高度和当前缩放级别,但我想知道是否有一个标准的方法来做到

  • > 如何在所有现代浏览器中检测页面缩放级别?虽然这个线程告诉如何在IE7和IE8中做到这一点,但我找不到一个好的跨浏览器解决方案。 Firefox存储页面缩放级别以备将来访问。在第一页加载,我可以得到缩放级别吗?在我读到的某个地方,当页面加载后发生缩放更改时,它起作用。 是否有方法捕获事件? 我需要这个,因为我的一些计算是基于像素的,他们可能波动时缩放。 @TFL给出的修改示例 当缩放时,此页会对