MATLAB二维绘图(三)操作绘图句柄显示特定的效果

时间:2024-02-18 08:38:16

MATLAB二维绘图(三)操作绘图句柄显示特定的效果

预备知识
  在MATLAB中绘图用到的所有元素都是有唯一的句柄的,通过操作这个句柄可以修改这些元素,如绘图窗口figure的句柄是gcf,绘图中的axes的句柄是gca,这些元素按照一定的等级分布,如axes的父级是figure等。如果需要修改这些元素的属性时,使用set函数,查看元素的属性时使用get函数。
示例:
在这里插入图片描述
1、通过set函数修改figure的背景颜色。示例:

%% 操作绘图窗口的对象句柄,来控制figure显示的颜色
clear; clc; close all;
x = linspace(0, 2*pi, 1000); % 获取均衡的点
y = sin(x);
plot(x,y);   % 画图
set(gcf, \'Color\', [1 1 1]);  % 通过操作gcf句柄来控制figure的颜色显示

效果显示:
在这里插入图片描述
使用get函数来查看gcf句柄的属性。通过查看这些属性可以进行相应的修改。示例:

%% 使用get函数来获取句柄的属性信息
clear; clc; close all;
x = linspace(0, 2*pi, 1000); % 获取均衡的点
y = sin(x);
plot(x,y);   % 画图
get(gcf)   % 在命令行窗口中输出属性信息

效果显示:(只是截取了一部分)
在这里插入图片描述
说明:Children属性表示它的下一级元素,显示为axes。
2、通过plot函数获取直线的句柄来修改绘图直线的属性,示例:

%% 使用句柄h设置更加多样的曲线
clear; clc; close all;
x = linspace(0, 2*pi, 1000);
y = sin(x); 
h = plot(x,y);  % 获取句柄h
set(h, \'LineStyle\', \'-.\',\'LineWidth\', 7.0, \'Color\', \'g\');  % 设置更加多样的曲线

效果显示:
在这里插入图片描述
说明:如果需要修改更多属性,使用get函数查看属性信息,并且修改相应的属性即可。
3、删除元素,使用delete函数可以删除绘图的元素。示例:

%% 使用delete删除曲线句柄h,则不会显示曲线
clear; clc; close all;
x = linspace(0, 2*pi, 1000);
y = sin(x); 
h = plot(x,y);  % 获取句柄h
set(h, \'LineStyle\', \'-.\',\'LineWidth\', 7.0, \'Color\', \'g\');
delete(h);  % 如果删除了曲线对象,那么就不会有曲线显示了

效果显示:
在这里插入图片描述
操作元素句柄修改属性示例
1、通过操作gca来设置axes坐标的范围。示例:

%% 设置曲线的父级axes
clear; clc; close all;
x = linspace(0, 2*pi, 1000);
y = sin(x); 
h = plot(x,y);  % 获取句柄h
set(gca, \'XLim\', [0, 2*pi]);  % 设置x的范围
set(gca, \'YLim\', [-1.2, 1.2]);  % 设置y的范围

效果显示:
在这里插入图片描述
2、设定axes控件的字体等信息。示例:

clear; clc; close all;
x = linspace(0, 2*pi, 1000);
y = sin(x); 
h = plot(x,y);  % 获取句柄h
set(gca, \'FontName\', \'console\');  % 改变字体
set(gca, \'XTickLabel\', {\'0\', \'p/2\', \'p\', \'3p/2\', \'2p\'});  % 可以显示特定的符号

效果显示:
在这里插入图片描述

想了解更多绘图信息,请看下面博文:
三维:
MATLAB三维绘图(五)高级三维绘图
MATLAB三维绘图(四)绘制特殊的三维图
MATLAB三维绘图(三)绘制等值线图
MATLAB三维绘图(二)使用隐函数作三维图
MATLAB三维绘图(一)三维基础绘图
MATLAB三维绘图基础meshgrid函数的用法解析

二维:
MATLAB二维绘图(四)其他特殊的二维绘图函数介绍及用法
MATLAB二维绘图(二)向图中添加标题,坐标轴,图标和文字信息
MATLAB二维绘图(一)使用plot函数进行简单绘图
fill填充函数解析及用法示例