我有一个大数组,有640000个元素类型double。 我需要绘制值,但是数组的长度是巨大的,它会消耗处理器资源。
我的屏幕分辨率仅为600x600。
如何缩小我的大数组以仅使用400个可能的值绘制它(边框为200个点)。
我正在尝试使用Java,但我不知道是不是已经有了... 喜
我正在绘制X,t(时间)..
double BigArray = new double[640000];
//...
filling the vector
//...
calculating resolution available (dots)
int n = 400;
//...
double LitArray = new double[n];
double TimeArray = new double[n];
//...
calculating new values for LitArray and TimeArray.
//...
由于
答案 0 :(得分:0)
你还没有说明你需要什么样的情节......吧?线?散射?
我将假设它是一个线图,并且对于线性增加的x系列,你有640000个y值。
您通常会将阵列分成400个桶。因此,制作一个包含400个元素的数组。每个桶你有1600个值,所以你只需要决定如何处理它们。
通常情况是平均每个桶中的1600个元素,为每个像素位置创建一个值。但是如果你需要非常快,你可以采取一个代表性的样本(比如,16个元素均匀间隔),或者甚至只是每个桶中的一个值。
您可能实际上想要每个桶的最小值和最大值,并且您将在每个像素位置绘制一条线到另一条线。这样你的缩小图仍然会覆盖每个桶的范围,最终不会传达错误的信息......