0
Jzy3d을 사용하여 배열에 저장된 데이터 요소 집합 (x, y, z)을 표시하는 플로터 클래스를 작성하려고합니다. 클래스에는 데이터 세트를 가져 와서 (자동으로) 3D 좌표계로 표시하는 plot()
메소드가 있어야합니다.
이 메서드는 시간 의존 루프에서 순차적으로 호출되어야합니다.Jzy3d (Java)를 사용한 단순 분산 형 플로터
지금까지 scatter plot demo for Jzy3d 코드를 관리했지만 코드의 각 비트가 무엇을하는지 알지 못합니다. Jzy3d의 문서는 그다지 많은 정보를 제공하지 않으며 온라인 튜토리얼을 찾을 수 없습니다.
누구나 데모를 설명하거나 유사한 방법이 포함 된 간단한 플로터를 작성하면 많은 도움이됩니다.
Jzy3d에 대한 효율적인 작업 플롯팅 대안도 인정할 수 있습니다.
데모 코드 :
import java.util.Random;
import org.jzy3d.analysis.AbstractAnalysis;
import org.jzy3d.analysis.AnalysisLauncher;
import org.jzy3d.chart.factories.AWTChartComponentFactory;
import org.jzy3d.colors.Color;
import org.jzy3d.maths.Coord3d;
import org.jzy3d.plot3d.primitives.Scatter;
import org.jzy3d.plot3d.rendering.canvas.Quality;
public class ScatterDemo extends AbstractAnalysis{
public static void main(String[] args) throws Exception {
AnalysisLauncher.open(new ScatterDemo());
}
@Override
public void init(){
int size = 500000;
float x;
float y;
float z;
float a;
Coord3d[] points = new Coord3d[size];
Color[] colors = new Color[size];
Random r = new Random();
r.setSeed(0);
for(int i=0; i<size; i++){
x = r.nextFloat() - 0.5f;
y = r.nextFloat() - 0.5f;
z = r.nextFloat() - 0.5f;
points[i] = new Coord3d(x, y, z);
a = 0.25f;
colors[i] = new Color(x, y, z, a);
}
Scatter scatter = new Scatter(points, colors);
chart = AWTChartComponentFactory.chart(Quality.Advanced, "newt");
chart.getScene().add(scatter);
}
}