MATLAB初接触的初阶绘图相关知识

先学习相关基础知识
此文为对应的MATLAB实操,增强理解

目录

  • 一、plot()函数
    • 1、绘制图线
    • 2、hold on与hold off
    • 3、加入绘图的其他功能
  • 二、legend()函数:装饰图线,为图片增加图例
  • 三、title()和 * label()函数:为图片增加标题和标签
  • 四、line()函数:在画中画辅助线
  • 五、text()和annotation()函数:为图片增加注解
  • 六、设置图线属性
  • 七、看内容
  • 八、get()和set()函数
    • 1、get()可以查看更为详细的内容
    • 2、set()可以改变handle的内容
      • (1)改变坐标轴属性
      • (2)FontSize 设置字体的尺寸
      • (3)XTick与XTickLabel
      • (4)字体名设置
      • (5)综合设置
  • 九、画多图
    • 1、一次出多图
    • 2、一个界面多图
  • 十、画图后存档

一、plot()函数

1、绘制图线

plot(cos(0:pi/20:2*pi));

MATLAB初接触的初阶绘图相关知识_第1张图片

2、hold on与hold off

hold on是当前轴及图像保持而不被刷新,准备接受此后将绘制的图形,即多图共存。
hold off使当前轴及图像不再具备被刷新的性质,新图出现时,取消原图。即关闭图形保持功能。

 hold on; 
 plot(cos(0:pi/20:2*pi));
 plot(sin(0:pi/20:2*pi));
 hold off

MATLAB初接触的初阶绘图相关知识_第2张图片

3、加入绘图的其他功能

标记【o】为圆圈符号,【x】为叉号符号,【r】代表红色,【g】代表绿色

hold on; 
plot(cos(0:pi/20:2*pi),'or');
plot(sin(0:pi/20:2*pi),'xg');
hold off

MATLAB初接触的初阶绘图相关知识_第3张图片
还有其他各种功能参考最顶上的资料:
MATLAB初接触的初阶绘图相关知识_第4张图片

hold on; 
plot(cos(0:pi/20:2*pi),'or--');    // 加入虚线
plot(sin(0:pi/20:2*pi),'xg:');     // 加入点线
hold off

MATLAB初接触的初阶绘图相关知识_第5张图片

二、legend()函数:装饰图线,为图片增加图例

x=0:0.5:4*pi;    // x为函数的值域
y=sin(x); 
h=cos(x); 
w=1./(1+exp(-x)); 
g=(1/(2*pi*2)^0.5).*exp((-1.*(x-2*pi).^2)./(2*2^2));    // y、h、w、g为函数
plot(x,y,'bd-' ,x,h,'gp:',x,w,'ro-' ,x,g,'c^-');	    // 绘制图线	
legend('sin(x)','cos(x)','Sigmoid','Gauss function');	// 为图片增加图例

MATLAB初接触的初阶绘图相关知识_第6张图片

三、title()和 * label()函数:为图片增加标题和标签

x = 0:0.1:2*pi; 
y1 = sin(x); 
y2 = exp(-x);
plot(x, y1, '--*', x, y2, ':o');
legend('sin(t)','e^{-x}');

xlabel('t = 0 to 2\pi');                        // x轴标签
ylabel('values of sin(t) and e^{-x}')           // y轴标签
title('Function Plots of sin(t) and e^{-x}');   // 表头标题

MATLAB初接触的初阶绘图相关知识_第7张图片

四、line()函数:在画中画辅助线

line ( [ 起点横坐标,终点横坐标 ] , [ 起点纵坐标,终点纵坐标 ] )
具体例子看下面

五、text()和annotation()函数:为图片增加注解

x = linspace(0,3); 
y = x.^2.*sin(x); 
plot(x,y);

line([2,2],[0,2^2*sin(2)]);                           //起点和终点横坐标都为2,纵坐标初始为零,结尾为2^2*sin(2)

str = '$$ \int_{0}^{2} x^2\sin(x) dx $$';             //注释函数表述:【\int】是积分符号,【{0}】是下标,【^{2}】是上标

text(0.25,2.5,str,'Interpreter','latex');             //注解位置为(x,y)=(0.25,2.5)处,内容为str
annotation('arrow','X',[0.32,0.5],'Y',[0.6,0.4]);     //箭头表述:【‘arrow’】是箭头,后面的XY为指向的区域范围

MATLAB初接触的初阶绘图相关知识_第8张图片

六、设置图线属性

可以点击任务栏【编辑】中的【图窗属性】
MATLAB初接触的初阶绘图相关知识_第9张图片
点击后出现下图,可点击【更多属性】进行设置
MATLAB初接触的初阶绘图相关知识_第10张图片

七、看内容

首先画个图

x=linspace(0,2*pi,100);
y=sin(x);
plot(x,y)

MATLAB初接触的初阶绘图相关知识_第11张图片
查看内容信息

h=plot(x,y)

MATLAB初接触的初阶绘图相关知识_第12张图片
点开详细信息,或者用以下方法

八、get()和set()函数

可以对图形对象的属性进行访问和修改且可以查看所有图形对象的属性

1、get()可以查看更为详细的内容

get(h)        //get(gca)会出来更多的信息

MATLAB初接触的初阶绘图相关知识_第13张图片

2、set()可以改变handle的内容

(1)改变坐标轴属性

经过指令

set(gca, 'XLim', [0,2*pi]);
set(gca, 'YLim', [-1.2,1.2])

图形如图
MATLAB初接触的初阶绘图相关知识_第14张图片
变为
MATLAB初接触的初阶绘图相关知识_第15张图片

(2)FontSize 设置字体的尺寸

set(gca, 'FontSize', 25)

MATLAB初接触的初阶绘图相关知识_第16张图片

(3)XTick与XTickLabel

XTick精确设置x轴的刻度
XTickLabel设置或查询 x 轴刻度标签

set(gca, 'XTick', 0:pi/2:2*pi);
set(gca, 'XTickLabel', 0:90:360)

MATLAB初接触的初阶绘图相关知识_第17张图片

(4)字体名设置

FontName字体名设置

set(gca, 'FontName', 'TeX');
set(gca, 'XTickLabel', {
     '0', 'p/2', 'p', '3p/2', '2p'})

MATLAB初接触的初阶绘图相关知识_第18张图片

(5)综合设置

set(h, 'LineStyle','-.', ...     //线的表现形式
	'LineWidth', 7.0, ...        //线的粗度
	'Color', 'g')                //线的颜色

MATLAB初接触的初阶绘图相关知识_第19张图片

九、画多图

1、一次出多图

x=-10:0.1:10;
y1=x.^2-8;
y2=exp(x);
figure,plot(x,y1);figure,plot(x,y2);

MATLAB初接触的初阶绘图相关知识_第20张图片
还可以设置其他参数
MATLAB初接触的初阶绘图相关知识_第21张图片

2、一个界面多图

subplot(m,n,k);

m为行,n为列,k为矩阵里的位置标
例如m=2,n=3,选k=1的位置就如下图的黄块所示位置
MATLAB初接触的初阶绘图相关知识_第22张图片
举个栗子

栗子1:

subplot(2,2,1);            //2行2列图的(1,1)位置
x = linspace(-3.8,3.8);
y_cos = cos(x);
plot(x,y_cos);
title('Subplot 1: Cosine')

subplot(2,2,2);             //2行2列图的(1,2)位置
y_poly = 1 - x.^2./2 + x.^4./24;
plot(x,y_poly,'g');
title('Subplot 2: Polynomial')

subplot(2,2,[3,4]);        //2行2列图的(2,1)(2,2)位置
plot(x,y_cos,'b',x,y_poly,'g');
title('Subplot 3 and 4: Both')

MATLAB初接触的初阶绘图相关知识_第23张图片
还可以通过一些小步骤设置

axis off     //axis on恢复

MATLAB初接触的初阶绘图相关知识_第24张图片

box off   //box on恢复

红框地方的黑线没有了
MATLAB初接触的初阶绘图相关知识_第25张图片

grid on  //增加格线,grid off是取消

MATLAB初接触的初阶绘图相关知识_第26张图片

栗子2:
axis normal 还原默认行为,将图框纵横比模式和数据纵横比模式的属性设置为自动
axis square 使用相同长度的坐标轴线,相应调整数据单位之间的增量
axis equal 沿每个坐标轴使用相同的数据单位长度
axis equal tight 将坐标轴范围设置为等同于数据范围,使轴框紧密围绕数据

t = 0:0.1:2*pi; 
x = 3*cos(t); 
y = sin(t);
subplot(2, 2, 1); plot(x, y); axis normal          //还原默认行为,将图框纵横比模式和数据纵横比模式的属性设置为自动
subplot(2, 2, 2); plot(x, y); axis square          //使用相同长度的坐标轴线,相应调整数据单位之间的增量
subplot(2, 2, 3); plot(x, y); axis equal           //沿每个坐标轴使用相同的数据单位长度
subplot(2, 2, 4); plot(x, y); axis equal tight     //将坐标轴范围设置为等同于数据范围,使轴框紧密围绕数据

其实图3是正确的图形表现,但通过如上设置可以改变观感
MATLAB初接触的初阶绘图相关知识_第27张图片

十、画图后存档

//  saveas( 图形句柄 , '文件名')
saveas(gcf, 'myfigure.png')

你可能感兴趣的:(小白乔学MATLAB,matlab)