现在的位置: 首页 > 综合 > 正文

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

2013年08月01日 ⁄ 综合 ⁄ 共 2079字 ⁄ 字号 评论关闭

一、基本介绍

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

  • 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 on
plot(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)

抱歉!评论已关闭.