jzy3D从入门到弃坑_2使用jzy3D0.9画2D散点图

jzy3D从入门到弃坑_2

使用jzy3D0.9画2D散点图

觉得有用的话,欢迎一起讨论相互学习~

我的微博我的github我的B站

  • 在上一节中安装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;//size
        int numobj = maxtrix[0].length;//2
        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);
    }
}

posted @ 2019-12-12 21:34  WUST许志伟  阅读(302)  评论(0编辑  收藏  举报