jzy3D从入门到弃坑_3

使用jzy3D0.9画2D散点图--多条线条

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

主要思路

  • 将多个线条的二维数组读入Scatter对象
  • 存入到同一个画布中

存入多个Scatter对象中

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 Scatter Setpoint(double[][] maxtrix, float[] rgb, float alpha, float width) {
Coord3d[] POINTS;
Color[] COLORS;
int size = maxtrix.length;//size
int numobj = maxtrix[0].length;//2
float x;
float y;
float z;
POINTS = new Coord3d[size];
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);
COLORS[i] = new Color(rgb[0], rgb[1], rgb[2], alpha);//表示RGB值和透明度
}
Scatter scatter = new Scatter(POINTS, COLORS, width);//width 表示线条宽度
return scatter;
}
}

在同一画布中将多个Scatter表示出来

package momfo.metaheuristics.momfea;

import java.awt.*;
import java.io.IOException;
import java.text.DecimalFormat;
import java.util.HashMap; import momfo.core.*;
import momfo.util.comparators.LocationComparator; import momfo.operators.crossover.CrossoverFactory;
import momfo.operators.mutation.MutationFactory;
import momfo.operators.selection.SelectionFactory;
import momfo.problems.benchmarks.*;
import momfo.qualityIndicator.QualityIndicator;
import momfo.util.JMException;
import org.jzy3d.chart.Chart;
import org.jzy3d.chart.ChartLauncher;
import org.jzy3d.global.Settings;
import org.jzy3d.plot3d.primitives.Scatter;
import org.jzy3d.plot3d.rendering.canvas.Quality; public class ReadPrintPF {
public static void main(String args[]) throws IOException, JMException, ClassNotFoundException {
ProblemSet problemSet; // The problem to solve
momfo.qualityIndicator.util.MetricsUtil utils_;
SolutionSet TruePFT1;
SolutionSet TruePFT2; problemSet = CIHS.getProblem();
String pf1 = "PF/" + problemSet.get(0).getHType() + ".pf";
String pf2 = "PF/" + problemSet.get(1).getHType() + ".pf";
utils_ = new momfo.qualityIndicator.util.MetricsUtil();
// 返回的是一个solutionSet变量
//使用这种方式读取的SolutionSet没有决策变量
TruePFT1 = utils_.readNonDominatedSolutionSet(pf1);
TruePFT2 = utils_.readNonDominatedSolutionSet(pf2);
// TruePFT1.printObjectivesToFile("./src/main/java/momfo/metaheuristics/momfea/" + "CIHS" + "T1" + ".txt");
//并且可以发现目标函数值都是double类型的浮点数类型
// TruePFT1.printObjectives();
ReadPrintPFTools tools = new ReadPrintPFTools();
double[][] TruePFT1_Matrix = tools.writeObjectivesToMatrix(TruePFT1);
double[][] TruePFT2_Matrix = tools.writeObjectivesToMatrix(TruePFT2);
float[] rgb1 = {0, 0, 0};//黑色
float[] rgb2 = {(float) 0.5, (float) 0.5, (float) 0.5};//灰色
float alpha = (float) 0.5; PlotTwoD_alpha pttwoD = new PlotTwoD_alpha();
Scatter scatter1 = pttwoD.Setpoint(TruePFT1_Matrix, rgb1, alpha, 5);
Scatter scatter2 = pttwoD.Setpoint(TruePFT2_Matrix, rgb2, alpha, 5);
Chart chart = new Chart(Quality.Advanced, "awt");
// add scatters
chart.getScene().add(scatter1);
chart.getScene().add(scatter2);
Settings.getInstance().setHardwareAccelerated(true);
//open chart
ChartLauncher.openChart(chart, new Rectangle(0, 0, 600, 600), "CIHS");
} }

结果

jzy3D从入门到弃坑_3使用jzy3D0.9画2D散点图--多条线条的更多相关文章

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

    jzy3D从入门到弃坑_2 使用jzy3D0.9画2D散点图 觉得有用的话,欢迎一起讨论相互学习~Follow Me 在上一节中安装jzy3D 0.9版本并且运行了3D的例子 https://blog ...

  2. jzy3D从入门到弃坑_4尝试使用jzy3D1.0画图失败

    jzy3D从入门到弃坑_4 尝试使用jzy3D1.0画图失败 觉得有用的话,欢迎一起讨论相互学习~Follow Me 记录一下使用jzy3D1.0失败 究其原因在于 本人才疏学浅,对于JAVA ope ...

  3. beego从入门到弃坑(一)

      最近由于要写课程设计的原因,我便开始一边学习beego,一边开始用它写一个小型的管理系统.但是只有你真正的去用的时候,才会发现这个框架巨坑,他是第一个让我写出了心里阴影的框架,也是第一个让我写着写 ...

  4. jzy3D安装到弃坑

    jzy3D从入门到弃坑 觉得有用的话,欢迎一起讨论相互学习~Follow Me 安装 http://www.jzy3d.org/ 官网 选择DL 选择0.9版使用,而不要使用其他版本 具体原因 高版本 ...

  5. 写个 Hello world - 前端从入坑到弃坑系列教程(1)

    这是一个系列教程<前端从入坑到弃坑>的第一篇. HTML 是什么 说白了,HTML 就是网页的内容.比如你现在正在阅读的这个网页的内容,就是 HTML.如果你还不明白,请继续往下阅读. 写 ...

  6. (暂时弃坑)(半成品)ACM数论之旅18---反演定理 第二回 Mobius反演(莫比乌斯反演)((づ ̄3 ̄)づ天才第一步,雀。。。。)

    莫比乌斯反演也是反演定理的一种 既然我们已经学了二项式反演定理 那莫比乌斯反演定理与二项式反演定理一样,不求甚解,只求会用 莫比乌斯反演长下面这个样子(=・ω・=) d|n,表示n能够整除d,也就是d ...

  7. (暂时弃坑)ACM数论之旅15---置换群与Polya定理(我把标题看成poi了,poipoipoi(*≧▽≦)ツ)

    (挖坑...) ////////////////////////////////////////////////// 暂时弃坑 开学了,有空再写....

  8. iOS端IM开发从入门到填坑

      让App聊起来 IM开发从入门到填坑Demo IM的实现方式 拿来主义,使用第三方IM服务 IM的第三方服务商国内有很多,底层协议基本上都是基于TCP的,类似有网易云信.环信.融云.极光IM.Le ...

  9. gulp-htmlone的BUG弃坑

    之前用项目用gulp-htmlone做最后的js和css内联打包出现各种问题 这次居然遇到打包后的css斜杠变反斜杠的问题 如下:/src/common/images/i_banner.jpg会被改成 ...

随机推荐

  1. 性能测试基础---事务&检查点&思考时间&集合点

    性能测试脚本的增强:·参数化·关联·事务·检查点·思考时间·集合点 ·事务:事务的引入是为了度量相关的业务请求的响应时间和吞吐量指标.在LR中,事务是通过两个事务函数来实现的. lr_start_tr ...

  2. Zipkin 知识点

    在Spring Cloud D版本,zipkin-server通过引入依赖的方式构建工程,自从E版本之后,这一方式改变了,采用官方的jar形式启动. 出处:https://juejin.im/post ...

  3. 服务器端渲染 VS 浏览器端渲染

    这里的渲染,就是指生成html文档的过程,和浏览器渲染html没有关系. 浏览器端渲染,指的是用js去生成html,前端做路由.举例:React, Vue等等前端框架.适合单页面应用程序. 服务器端渲 ...

  4. 关于defer.promise.then 异步的一个疑问 | 用柯里化做promise | 用递归做promise

    疑问:感觉会报错,因为执行到defer.promise.then这时候还没到defer.resolve,因为异步读文件,总归会慢 解答:先执行defer.promise.then,是给callback ...

  5. 关于vue+axios上传文件的踩坑分析

    上传文件是每个前端开发者都会遇到的问题,在之前实习期做了一个上传文件的功能,当时没有彻底搞明白问题所在,现在重新复盘下. 1.使用formData来上传文件,没有使用axios上传文件,之前在学校有做 ...

  6. Windows UI自动化测试的XPATH实现 - WPATH

    https://segmentfault.com/a/1190000010339021 从事Windows 桌面应用自动化测试也有一些年了,现在谈这个话题并不流行.因为除了企业级应用,很少有公司会只选 ...

  7. 编程语言与dsl

    通用编程语言面向的是计算机通用功能: 即数据.计算.资源管理及数据与计算的组合方式: 数据与计算.计算与计算的组合方式是通用语言的问题域,是通用编程语言的在计算机硬件的基础上对问题解决通用描述方式: ...

  8. [Inside HotSpot] Xcode编译调试OpenJDK12

    编译 下载brew然后安装hg,freetype,ccache $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent. ...

  9. RabbitMQ六种队列模式-主题模式

    前言 RabbitMQ六种队列模式-简单队列RabbitMQ六种队列模式-工作队列RabbitMQ六种队列模式-发布订阅RabbitMQ六种队列模式-路由模式RabbitMQ六种队列模式-主题模式 [ ...

  10. luoguP1118 [USACO06FEB]数字三角形`Backward Digit Su`… 题解

    一上午都在做有关搜索的题目,,, 看到这题之后就直接开始爆搜 结果只有70分, 其余的点硬生生的就是那么WA了. 我的天哪~ 70分代码: #include<iostream> #incl ...