[Matlab]基础教程学习笔记(四):二维高层绘图操作

来源:互联网 发布:数据结构必背算法 编辑:程序博客网 时间:2024/05/10 00:18

一、基本介绍

二维高层绘图的基本函数:

  • plot函数

二维绘图的辅助操作:

  • 标注(图形名称,坐标轴名称,曲线标注,图例)
  • 坐标轴保持
  • 图形保持(同一座标绘制多个图形)

下面来看一下plot函数的使用。

基本用法:plot(x,y);

要求:x和y为相同长度的向量。

特殊用法:

(1)x为向量,y为矩阵,其中一维与x长度相同,则绘制多条不同色彩的曲线(颜色怎么确定?);
(2)x和y为同维的矩阵,以对应列绘制不同色彩的曲线;
(3)plot有一个参数,若x为实数向量,则绘制折线图,若x为复数向量,则以实部和虚部为横纵坐标绘图;
(4)多个输入参数;
(5)曲线选项


下面来看一下具体的使用。

我们先来绘制一个正弦函数,绘制0~2π之间的内容。


x = 0:0.01:2*pi;y = sin(x);plot(x,y);

运行一下可以看见绘制的正弦函数:

当然也可以同时绘制出两条直线,使用不同颜色绘制多条曲线:

x = 0:0.01:2*pi;y = sin(x);y1 = sin(x);y2 = cos(x);z = [y1 ; y2];plot(x,z);

绘图的效果如下:


再比如将z多设置几个行向量:

x = 0:0.01:2*pi;y = sin(x);y1 = sin(x);y2 = cos(x);y3 = exp(x);y4 = x;y5 = tan(x);z = [y1;y2;y3;y4;y5];plot(x,z);

画图的时候依旧是多种颜色绘制:



当然也可以多弄几条做出风骚的界面效果:


我们需要将矩阵转置,绘制出两条曲线:

% 两个参数都是矩阵x1 = 0:0.01:2*pi;x2 = -pi:0.01:pi;x  = [x1; x2]';%转置y1 = cos(x1);y2 = sin(x2);y  = [y1; y2]';%转置plot(x, y)

绘制的图形如下:



接下来看一下plot只有一个参数的情况。

我们可以用linespace产生行向量:

% plot只有一个参数x = linspace(0, 2*pi, 200);y = sin(x);plot(y)y2 = cos(x);y3 = y + i*y2;plot(y3)axis equal 

如果只有一个参数,那么绘图的时候将用y的每一个点做横坐标:


下面来看一下复数的绘制

x = linspace(0, 2*pi, 200);y = sin(x);y2 = cos(x);y3 = y + i*y2;plot(y3)axis equal
绘制的图形会以y的实部绘制横坐标,以y的虚部绘制纵坐标,加上axisequal是坐标轴控制:


下面来看下plot有多个参数

x1 = linspace(0, 2*pi, 200);x2 = linspace(0, 2*pi, 100);y1 = cos(x1);y2 = sin(x2);plot(x1, y1, x2, y2)

y1是x1的余弦,y2是x2的正弦,我们可以用plot的多参数功能来绘制:



然后是plot的参数问题。

% plot含有的曲线选项x = linspace(0, 2*pi, 100);y = sin(x);plot(x, y, 'k') % r g y m k b,更改绘制曲线的颜色plot(x, y, 'p') % * . p < >使用星,点,五角星,三角号进行标注plot(x, y, ':') % - -- -. :虚线或者实线plot(x, y, 'r*:')%也可以组合使用

二、图形的标注。

标注就是指明横纵坐标的名称,比如下面这段代码:

x = linspace(0, 2*pi, 100);y = sin(x);plot(x, y)xlabel('x')ylabel('y')title('正弦');

执行的效果就是这样的:


还有很多其他标注,比如text标注:

x = linspace(0, 2*pi, 100);y = sin(x);plot(x, y)xlabel('x')ylabel('y')title('正弦');text(2, 0.3, 'y = xin(x)');text(5, 0.5, 'x_2')
效果如下所示:


还有一种标注就是图例

x1 = linspace(0, 2*pi, 200);x2 = linspace(0, 2*pi, 100);y1 = cos(x1);y2 = sin(x2);plot(x1, y1, x2, y2)legend('cos', 'sin');

效果就是在右上角会出现图例的说明,这个用底层绘图可以改变坐标:


绘制两条图线的时候会发现第一条曲线消失了,这是因为没有开启图形保持,可以用hold on开启,hold off关闭:

%% 图形保持x = 0:0.1:2*pi;y1 = sin(x);y2 = cos(x);hold onplot(x, y1, 'r');plot(x, y2, 'g');hold off


下面来说一下窗口的分割,比如想在窗口的四个角落绘制图形,可以使用subplot函数:

%% 窗口分割x = 0:0.1:2*pi;y1 = sin(x);y2 = cos(x);y3 = tan(x);y4 = exp(x);subplot(2, 2, 1)%2*2的小格,绘制第一个格plot(x, y1);subplot(222)%可以分开,也可以连着写plot(x, y2)subplot(223)plot(x, y3)subplot(224)plot(x, y4)


原创粉丝点击