https://ww2.mathworks.cn/help/matlab/graphics-object-properties.html 总体参考
1.顶层对象
首先是顶层对象,常用的两个:Figure、Axes,这两个所谓顶层,就是说,给你建立绘图的窗口与坐标区,一个窗口内可以建立多个坐标区,在坐标区内就可以使用绘图的函数啦!
- 常用的绘图函数有
这里补充一个函数:isosurface ——isosurface(X,Y,Z,V,isovalue)
确定三维体数据 V 等于指定的 isovalue
的位置,并在结构体中返回所得曲面的面和顶点数据。也就是说x,y,z都是函数自变量,不像 surf(X,Y,Z)这类三维的,它们的Z是x,y的函数,并以高度的形式可视化出来
详细的可参考 https://ww2.mathworks.cn/help/matlab/creating_plots/types-of-matlab-plots.html
当然也可以直接使用绘图函数,会自动创建figure和axes,并且同时有了相应的句柄对象,使用gcf和gca可以获取当前图窗的句柄和当前坐标区,例如:
surf(peaks) fig = gcf; % current figure handle fig.Color = [0 0.5 0.5]; fig.ToolBar = 'none';
x = linspace(0,10); y = sin(4*x); plot(x,y) ax = gca; % current axes ax.FontSize = 12; ax.TickDir = 'out'; ax.TickLength = [0.02 0.02]; ax.YLim = [-2 2];
2.设置图形属性的方式
- 方式一:通过创建该对象的函数将其以输出参数的形式返回,例如:
p = plot(1:10,1:10);% 绘图函数返回图形对象 p.LineWidth = 3; % 使用圆点表示法查看和设置属性
- 方式二:创建对象时使用名称-值对组参数设置属性,例如:plot(1:10,1:10,'LineWidth',3),大多数绘图函数都支持名称-值对组参数
- 方式三:使用set函数,例如:
p = plot(1:10); set(p,'Color','red') 又例如: h = pcolor(X,Y,I3); set(h,'edgecolor','none','facecolor','interp');% %也可以直接让句柄属性为interp h.FaceColor = 'interp'; set同样对gca,gcf有效 ax1 = axes('Position',[0.1 0.2 0.65 0.65]); imshow(cp);axis square set(gca,'XLim',[1 1024]) %gcf类似 当然也可以 set(ax1,'XLim',[1 1024])
例如Axes属性,针对坐标区外观和行为的。坐标区外观 - MATLAB & Simulink - MathWorks 中国
你可以通过
1.直接通过更改属性值,您可以修改坐标区的特定方面。使用圆点表示法查询和设置属性。
ax = gca; c = ax.Color; ax.Color = 'blue';
2.set函数
3.对应的函数,比如
3.保存打印图像
那么保存打印图像可以用以下方法:
1. 直接Figure窗口点击保存图片,可以保存为fig,eps,jpeg,gif,png,bmp等格式
2. imwrite函数,同样可以多种格式,bmp、JPEG、PNG 和 TIFF,不牺牲图像分辨率,假如有读入图像的话;意思就是矩阵数对应像素不变imwrite(A,filename)https://ww2.mathworks.cn/help/matlab/ref/imwrite.html#d126e7276583. Saveas函数,打印图窗,可以输出多种格式图片,png、jpg、bmp、tif、eps、pdf等
4. Print(figure_handle,fileformat,filename),类似saveas函数,但是函数排布不一样,还可以指定分辨率
例如 print(gcf, '-dpng','-r300', 'abc.png'):
fileformat:
png格式: '-dpng' jpeg格式: '-djpeg' tiff格式: '-dtiff'
bmp格式: '-dbitmap' gif格式:'-dgif' emf无损格式:'-dmeta'