Matplot3D for JAVA 是一个基于JAVA SE 1.8环境开发的三维图形图表组件。 组件由纯JAVA SE 实现(Pure Java) ,封装为一个jar包,jar文件大小不超过300KB。内含自主研发的三维几何造型、绘制算法,无需依赖OpenGL、DriectX和JAVA 3D等第三方库,其只依托JRE自带的类库即可(即只需安装了JAVA就可使用),可以非常方便的将Matplot3D for JAVA(V3.0)显示面板嵌入到自己JAVA GUI程序中。
本组件提供简单的外观API,可以方便生成三维效果的图形图表。可用于大数据可视化、科学数据分析可视化等领域。在使用GUI显示时支持鼠标等输入设备交互式操作,可方便的缩放和改变观察角度。支持动态编程,可实时生成三维模型动态改变动画。也可以根据输入的数据直接生成图片文件,这可用于动态Web的服务端,从页面传入的数据生成图像文件,返回给页面显示。
作者email:ta8334@126.com ; QQ :17746302
Matplot3d_4j_sydh_x64_V3.0.jar 为应用所需要依赖的包。
Matplot3d_4j_sydh_x64_V3.0_demo.jar 为演示DEMO的可执行的JAR文件,内含展示效果及部分示例代码, 使用时不需要引用这个包 。如不清楚何运行可执行JAR的请自行百度一下(由于需要预载入的资源较多且展示多个画面,Demo启动会有点慢且会消耗较多内存,需要在64bit的JRE上运行)
Matplot3D for JAVA是纯JAVA的软件算法,由于JVM的JIT特性,刷新的头几帧效率较低,刷新了数帧后代码运行会进入高效状态
数据阵列曲面图
示例代码
public class DataGridDemo {
public static void main(String[] args) {
DataGridProcessor processor = new DataGridProcessor();
final Matplot3D4JMgr mgr=new Matplot3D4JMgr(processor);
//=======================================
//准备你的数据,是一个二维Double数组。表示均匀分布的网格点,数组内的值表示高度
//数据一般来源于具体应用的非规则函数数据,例如某区域的DEM地形高程数据
//以下代码创造一些虚拟数据用于展示如何使用
Double[][] datas=new Double[20][20];
Random random=new Random();
for(int i=0;i<datas.length;i++) {
for(int j=0;j<datas[0].length;j++) {
if(i+j<20)
datas[i][j]=(double)i+j+random.nextDouble();
else
datas[i][j]=40d-i-j-random.nextDouble();
}
}
//=======================================
//创建一个颜色风格
ColorStyle cs = new TopBottomColorStyle(ColorStyle.DEFAULT_COLORS_ARRAY);
mgr.setCoordianteSysShowType(Matplot3D4JMgr.COORDINATE_SYS_ALWAYS_FURTHER);
processor.setClose3DObject(true);//设置是否是封闭三维对象
mgr.setScaleX(1);
mgr.setScaleY(1);
mgr.setScaleZ(1.2);
mgr.setTitle("Demo 数据阵列");
processor.setShowGrid(false);//是否现显示辅助网格线
processor.addData(datas, "", new Range(0, 100), new Range(100, 200), 20, 20, cs, 1f);
mgr.show();
}
}
点云图(散点图)
函数曲面图
混合数据(组合多种图表)
利用数据阵列图绘制浮雕效果
散点图
函数曲面图添加多个函数
曲面云图
引擎效果
引擎效果
折线图
柱状图
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型