jzy3D從入門到棄坑_2
使用jzy3D0.9畫2D散點圖
- 在上一節中安裝jzy3D 0.9版本並且運行了3D的例子
- https://blog.csdn.net/u013555719/article/details/103490387
- 但是我們發現0.9版本只能夠畫3D圖,但是畫不了2D圖!!!,1.0版本才能畫2D圖
- 如下爲官網的更新信息 – 可以很明顯的發現,只有在最新的1.0版本中才具有畫2D圖形的功能
![在這裏插入圖片描述]()
- 當然我們也有對策,即通過將一個座標設爲0的方式,強行畫2D圖
![在這裏插入圖片描述]()
代碼
package momfo.metaheuristics.momfea;
import momfo.core.SolutionSet;
import org.jzy3d.chart.Chart;
import org.jzy3d.chart.ChartLauncher;
import org.jzy3d.colors.Color;
import org.jzy3d.global.Settings;
import org.jzy3d.maths.Coord3d;
import org.jzy3d.plot3d.primitives.Scatter;
import org.jzy3d.plot3d.rendering.canvas.Quality;
import org.jzy3d.chart.Chart;
import java.awt.*;
public class PlotTwoD_alpha {
public void plot(double[][] maxtrix, String title) {
int size = maxtrix.length;
int numobj = maxtrix[0].length;
float x;
float y;
float z;
float a;
Coord3d[] points = new Coord3d[size];
Color[] colors = new Color[size];
for (int i = 0; i < size; i++) {
x = 0;
y = (float) maxtrix[i][0];
z = (float) maxtrix[i][1];
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 chart = new Chart(Quality.Advanced, "awt");
chart.getScene().add(scatter);
Settings.getInstance().setHardwareAccelerated(true);
ChartLauncher.openChart(chart, new Rectangle(0, 0, 600, 600), title);
}
}