「javamatplot」javamatplotlib
本篇文章给大家谈谈javamatplot,以及javamatplotlib对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java有没有类似python里matplotlib的库?
- 2、matplot中,子图的基本单位是什么
- 3、matlab与java混合编程有什么作用
- 4、java中怎么调用matlab绘制三维图形
java有没有类似python里matplotlib的库?
Jfreechar 是一个开源的图表绘制类库。也可以用Java程序调用matplotlib库
matplot中,子图的基本单位是什么
axes。
Matplotlib提供了子图表的概念来实现这一点:单个图表中可以包括一组小的axes用来展示多个子图表。
利用matplot绘制折线图,要点:1、有间隔的显示横坐标信息。数据的横坐标为日期,如果每一个都显示出来,横坐标日期将会拥挤在一起,无法看清,因此要有间隔的显示日期,也可以拓展为有间隔的显示其他的数据形式。
2、如何保存完整的图,避免显示和保存的图不一样bbox_inches=‘tight’,添加这个参数即可保存完整的图像,没添加之前保存的图会比。
matlab与java混合编程有什么作用
Java和matlab混合编程
如果用Matlab和java混合编程开发Windows的应用程序则可以实现优势互补,缩短开发时间,降低程序设计的复杂度。同时程序可以脱离Matlab环境独立运行,在工程计算和教学实践中都具有实际意义。
1.使用java调用Maltab函数的基本方法是:通过Java Builder实现Java调用Matlab。在Java环境中直接调用Matlab所生成的Jar包。
下面以在Java中产生任意维数的魔方矩阵,计算任意矩阵的特征向量和特征值,对两组数据进
行拟合并绘制拟合曲线三个实例来说明通过Java
Builder实现Java调用Matlab的过程。传统的纯Java编程实现上述实例非常复杂,甚至很难完成。这一问题在Matlab中只需要调用几个
函数即可完成。
1.1、将Matlab函数包装成Java类
首先在Matlab中编写三个M文件:
Eig.m
function [v,d]=Eig(input)
format long
[v,d]=eig(input);
End
Magic.m
function f =Magic( input )
f=magic(input);
end
Plot.m
function Plot(x,y )
p=polyfit(x,y,3);
t=min(x):max(x)/100:max(x);
s=polyval(p,t);
plot(x,y,'*',t,s);
title('数据拟合结果');
xlabel('x');
ylabel('y');
end
其次,在Matlab中新建一个Deployment
Project,名称为MyProject.prj,类型为Java
package。在Project中新建三个Class,分别为GetEig,GetMagic,PolyFit。将
Eig.m,Magic.m,plot.m分别添加到上述Class中。之后点击Builder the project,等待编译成功即可。
1.2、在Java中调用Matlab函数
新建一个Java类JavaMatlab,并引入相关的包。
import com.mathworks.toolbox.javabuilder.*;//引入Matlab相关包
import MyProject.*;//引入建立的包及类
调用时Java与Matlab之间的参数传递需要通过MWNumericArray完成。具体的调用代码如下:
package org.genius.ExpandJava;
import MyProject.*;
import com.mathworks.toolbox.javabuilder.*;
public class JavaMatlab {
public static void main(String[] args) {
MWNumericArray a = null; // 用于保存矩阵
MWNumericArray ax = null; // 用于保存矩阵
MWNumericArray ay = null; // 用于保存矩阵
Object[] result = null; // 用于保存计算结果
GetEig getEig = null;
GetMagic getMagic=null;
PolyFit polyFit=null;
int r = 4; // 魔方矩阵维数
int array[][]={{50,-20,0},{-20,80,60},{0,60,-70}};
double x[]={0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1};
double y[]={-0.447,1.978,3.28,6.16,7.08,7.34,7.66,9.56,9.48,9.3,11.2};
try {
//产生魔方矩阵并打印
a = new MWNumericArray(r, MWClassID.DOUBLE);
getMagic = new GetMagic();
result = getMagic.Magic(1,a);
System.out.println("产生的四维魔方矩阵:");
System.out.println(result[0]);
MWArray.disposeArray(result);
//计算所给矩阵的特征向量和特征值并打印结果
a = new MWNumericArray(array, MWClassID.DOUBLE);
getEig = new GetEig();
result = getEig.Eig(2, a);
System.out.println("原始矩阵:");
System.out.println(a.toString());
System.out.println("得到的特征向量:");
System.out.println(result[0]);
System.out.println("得到的特征值:");
System.out.println(result[1]);
MWArray.disposeArray(result);
ax = new MWNumericArray(x, MWClassID.DOUBLE);
ay = new MWNumericArray(y, MWClassID.DOUBLE);
polyFit = new PolyFit();
result=polyFit.Plot(ax,ay);
polyFit.waitForFigures();
} catch (Exception e) {
System.out.println("Exception: " + e.toString());
}
finally {
// 释放本地资源
MWArray.disposeArray(a);
MWArray.disposeArray(ax);
MWArray.disposeArray(ay);
MWArray.disposeArray(result);
getEig.dispose();
getMagic.dispose();
polyFit.dispose();
}
}
}
java中怎么调用matlab绘制三维图形
1、调用plot3函数来绘制三维曲线图,调用格式如下:
plot3(x1,y1,z1,’PropertyName’,’PropertyValue’...);
其中PropertyName表示属性名,可以是颜色,线型,线宽等属性,PropertyValue表示属性值,对应属性名所包含的各种属性值。
该函数调用对应的m文件如下:
clear all;%%表示清空所有变量及变量值%%
t=0:pi/360:2*pi;
x=sin(t);
y=cos(t);
z=2*x.^2+y.^2;
plot3(x,y,z,'Color','r','LineWidth',2);
%%三维曲线坐标轴和标题的设置%%
xlabel('x');
ylabel('y');
zlabel('z');
title('三维曲线图');
axis([-1.2 1.2 -1.2 1.2 0.5 2.2];
2、调用surf、surfc(得到含有等高线的三维曲面图)、surfl(带灯光的三维曲面图)三个函数来绘制三维曲面图
3、调用mesh、meshc(得到含有等值线的三维网格图)、surfz(用于绘制包含零平面的网格线)三个函数来绘制三维曲面图
4、调用contour3函数绘制三维等高线图
5、特殊三维图形调用函数:
cylinder:三维柱面图,sphere:三维球体
pie3: 三维饼状图, ribbon:三维彩带图
6、特殊三维图形绘制
对上面所讲的四种特殊三维图形进行绘制
javamatplot的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于javamatplotlib、javamatplot的信息别忘了在本站进行查找喔。
发布于:2022-12-17,除非注明,否则均为
原创文章,转载请注明出处。