Pyr*_*cal 7 java matlab plot zoom large-data-volumes
我有大型数据集(10 Hz数据,每24小时864k点),我需要实时绘制.这个想法是用户可以缩放和平移到非常详细的散点图.
数据不是很连续,而且有峰值.由于数据集太大,每次绘图刷新时都无法绘制每个点.
但我也不能只是绘制每一个点,否则我会错过大而短的尖峰等主要特征.
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)
Run Code Online (Sandbox Code Playgroud)
例子:
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);
Run Code Online (Sandbox Code Playgroud)