第5章 数据可视化——5.2 二维图形绘制(1)

简介: 第5章 数据可视化——5.2 二维图形绘制(1)

5.2  二维图形绘制(1)


二维图形是MATLAB图形的基础,也是应用非常广泛的图形类型之一。MATLAB提供了许多二维图形绘制函数。

MATLAB基本的二维图形包括线型(Line Plots)、散点型(Scatter Plots)、条型(Bar Plots)、极坐标型(Polar Plots)及矢量图型(Vector Fields)等。单击相应的类型,就可以查看相应的用法。

本节介绍二维图形的绘制指令plot、图形的编辑、子图的绘制、交互式图形的绘制及双坐标图形的绘制等。


5.2.1  plot指令


将数对排序的一种方法是使用plot指令。该命令可以带有不同数目的参数。最简单的形式就是将数据传递给plot,但是线条的类型和颜色可以通过使用字符串来指定,这里用str表示。线条的默认类型是实线型。

下面给出plot指令的一般使用规范。

1plot指令使用规范一:plot(x,y)

语句说明:以x为横坐标,y为纵坐标,按照坐标(xj,yj)的有序排列绘制曲线。


2plot指令使用规范二:plot(y)

语句说明:其中y为一维实数数组,以1:n为横坐标,yj为纵坐标,绘制曲线(ny的长度)。


3plot指令使用规范三:plot(z)

语句说明:其中z为一维复数数组,以横轴为实轴,纵轴为虚轴,在复平面上绘制(real(zj),imag(zj))的有序集合的图形。


5-4plot指令使用示例一。

创建M文件并命名为cossinfigure.m(同时存为ex5_04.m),利用M文件编辑器在M文件中输入:

clear all
X = -10 : 10;Y = X .^ 2;
figure(1)
subplot(1,3,1);plot(X , Y , 'LineWidth' , 2);
subplot(1,3,2);plot(Y , 'LineWidth' , 2);xlim([1 length(Y)])
Z = cos(-pi : pi / 10 : pi) + sqrt(-1) * sin(-pi : pi / 10 : pi);
subplot(1,3,3);plot(Z , 'LineWidth' , 2);

运行M文件,结果如图5-6所示。

48163076453621babc66010a26d42fd3_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

5-6  cossinfigure.m运行结果


4plot指令使用规范四:plot(A)

语句说明:绘制矩阵A的列对它的下标的图形。对于m×n的矩阵A,有n个含有m个元素的数对,或是n条有m个点的曲线,且这n条曲线均采用颜色监视器上不同的颜色绘制而成。


5-5plot指令使用示例二。

创建M文件并命名为magicfigure.m(同时存为ex5_05.m),利用M文件编辑器在M文件中输入:

clear all
A = magic(8);
figure;
plot(A)
A

运行M文件,结果如图5-7所示。

A =
    64     2     3    61    60     6     7    57
     9    55    54    12    13    51    50    16
    17    47    46    20    21    43    42    24
    40    26    27    37    36    30    31    33
    32    34    35    29    28    38    39    25
    41    23    22    44    45    19    18    48
    49    15    14    52    53    11    10    56
     8    58    59     5     4    62    63     1

3a2f728fe57554109e9d2206b406e729_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

5-7  magicfigure.m运行结果


5plot指令使用规范五:plot(x,A)

语句说明:绘制矩阵A对向量x的图形。对m×n的矩阵A和长度为m的向量x,绘制矩阵A的列对向量x的图形;如果x的长度为n,则绘制矩阵A的行对向量x的图形。向量x可以是行向量,也可以是列向量。


6plot指令使用规范六:plot(A,x)

语句说明:对矩阵A绘制向量x的图形。对于一个m×n的矩阵A和一个长度为m的向量x,对矩阵A的列绘制向量x的图形;如果x的长度为n,则对矩阵A的行绘制向量x的图形。向量x可以是行向量,也可以是列向量。


7plot指令使用规范七:plot(A,B)

语句说明:对矩阵A的行绘制矩阵B的列的图形。如果AB都是m×n的矩阵,则将绘制n条由m个有序对连成的曲线。


5-6plot指令使用示例三。

创建M文件并命名为figuregrid.m(同时存为ex5_06.m),利用M文件编辑器在M文件中输入:

clear all
for i = 1 : 5
    for j = 1 : 6
        A(i , j) = i + j;
    end
end
A
x = 0.2 : 0.2 : 1;
x
figure(1)
subplot(2,2,1);plot(A,x,'LineWidth',1.5);
subplot(2,2,2);plot(x,A,'LineWidth',1.5);
B = reshape(1 : 30 , 5 , 6);
B
subplot(2,2,3);plot(A,B,'LineWidth',1.5);
subplot(2,2,4);plot(B,A,'LineWidth',1.5);

运行M文件,结果如图5-8所示。

A =
     2     3     4     5     6     7
     3     4     5     6     7     8
     4     5     6     7     8     9
     5     6     7     8     9    10
     6     7     8     9    10    11
x =
    0.2000    0.4000    0.6000    0.8000    1.0000
B =
     1     6    11    16    21    26
     2     7    12    17    22    27
     3     8    13    18    23    28
     4     9    14    19    24    29
     5    10    15    20    25    30

7b008888ce1d878cd2ec3ecde011b2da_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

5-8  figuregrid.m运行结果


8plot指令使用规范八:plot(x,y,str)

语句说明:用字符串str指定的颜色和线型对y绘制x的图形。


9plot指令使用规范九:plot(x1,y1,str1,x2,y2,str2,…)

语句说明:用字符串str1指定的颜色和线型对y1绘制x1的图形,用字符串str2指定的颜色和线型对y2绘制x2的图形……每组参数值可以采用上述除复数值外的任何一种形式。str1,str2…可以省略,此时,MATLAB自动为每条曲线选择颜色和线型。


5-7plot指令使用示例四。

创建M文件并命名为fivecircle.m(同时存为ex5_07.m),利用M文件编辑器在M文件中输入:

clear
j = sqrt(-1);
x = 2;y = 0.4;
bluecircle = cos(-pi : pi / 20 : pi) + j * sin(-pi : pi / 20 : pi) + (j * y - x);
blackcircle = cos(-pi : pi / 20 : pi) + j * sin(-pi : pi / 20 : pi) + (j * y);
redcircle = cos(-pi : pi / 20 : pi) + j * sin(-pi : pi / 20 : pi) + (j * y + x);
yellowcircle = cos(-pi : pi / 20 : pi) + j * sin(-pi : pi / 20 : pi) + (- j * y - x / 2);
greencircle = cos(-pi : pi / 20 : pi) + j * sin(-pi : pi / 20 : pi) + (- j * y + x / 2);
figure(1)
plot(bluecircle,'LineWidth',5);hold on;
plot(blackcircle,'k','LineWidth',5);hold on;
plot(redcircle,'r','LineWidth',5);hold on;
plot(yellowcircle,'y','LineWidth',5);hold on;
plot(greencircle,'g','LineWidth',5);

运行M文件,结果如图5-9所示。

f864222803221ac1632b45bbe7e88eed_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

5-9  fivecircle.m运行结果


5-8plot指令使用示例五。

创建M文件并命名为tanfigure.m(同时存为ex5_08.m),利用M文件编辑器在M文件中输入:

x = -pi : pi / 10 : pi;
y = tan(sin(x)) - sin(tan(x));
plot(x, y, '--rs', 'LineWidth', 2, 'MarkerEdgeColor', 'k', 'MarkerFaceColor', 'g', 'MarkerSize', 10);

运行M文件,结果如图5-10所示。

64aaff98ae5d81db669212eec3410916_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

5-10  tanfigure.m运行结果


5-9:利用函数plot绘制包络线。

创建M文件并命名为envelope.m(同时存为ex5_09.m),利用M文件编辑器在M文件中输入:

clear all
t = (0 : pi / 100 : pi)';
y1 = sin(t) * [1 , -1];
y2 = sin(t) .* sin(9 * t);
t3 = pi * (0 : 9) / 9;
y3 = sin(t3) .* sin(9 * t3);
plot(t, y1, 'r:', t, y2, 'b', t3, y3, 'bo')
axis([0, pi, -1, 1])

运行M文件,结果如图5-11所示。

842a857b4e9c9c301cb2aee3e221289e_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

5-11  envelope.m运行结果


5-10:当输入参数为向量时,利用函数plot绘制多条曲线。

创建M文件并命名为multicurves.m(同时存为ex5_10.m),利用M文件编辑器在M文件中输入:

clear all
x = -pi : pi / 10 : pi;
y = [sin(x);sin(x + 3);sin(x + 5)];
z = [cos(x);cos(x + 3);cos(x + 5)];
figure;
plot(x, y, 'r:*', x, z, 'g-.v');

运行M文件,结果如图5-12所示。

c5df37524892fa27d0284bcc377adc32_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

5-12  multicurves.m运行结果


5.2.2  栅格


当图像需要对具体数值有更加清楚的展示时,在图形中添加栅格是十分有效的方法。在MATLAB中,grid on命令可以在当前图形的单位标记处添加栅格;grid off命令则可以取消栅格的显示;单独使用grid命令则可以在onoff状态下交替转换,即起到触发的作用。


5-11:栅格的使用示例。

创建M文件并命名为figuregrid.m(同时存为ex5_11.m),利用M文件编辑器在M文件中输入:

X = (0 : 1800) * pi / 180;Y = cos(X / 2);
figure(1)
subplot(1,3,1);plot(X, Y, 'LineWidth', 2);xlim([0 30]);grid on;
subplot(1,3,2);plot(X, Y, 'LineWidth', 2);xlim([0 30]);grid on;grid
subplot(1,3,3);plot(X, Y, 'LineWidth', 2);xlim([0 30]);grid;grid off;

运行M文件,结果如图5-13所示。

d4a0ad9afedf001793037f62259793d2_640_wx_fmt=png&wxfrom=5&wx_lazy=1&wx_co=1.png

5-13  figuregrid.m运行结果


相关文章
|
自然语言处理 数据可视化 算法
第5章 数据可视化——5.4 四维图形可视化
第5章 数据可视化——5.4 四维图形可视化
|
6月前
|
数据可视化 测试技术 定位技术
数据可视化——如何绘制地图
数据可视化——如何绘制地图
|
自然语言处理 数据可视化
第5章 数据可视化——5.2 二维图形绘制(4)
第5章 数据可视化——5.2 二维图形绘制(4)
|
数据可视化 C#
第5章 数据可视化——5.2 二维图形绘制(2)
第5章 数据可视化——5.2 二维图形绘制(2)
|
自然语言处理 数据可视化 算法
第5章 数据可视化——5.2 二维图形绘制(3)
第5章 数据可视化——5.2 二维图形绘制(3)
|
数据可视化
第5章 数据可视化——5.3 三维图形绘制
第5章 数据可视化——5.3 三维图形绘制
|
数据可视化
第5章 数据可视化——5.1 图形绘制
第5章 数据可视化——5.1 图形绘制
|
数据可视化 数据挖掘 物联网
二维数据可视化|学习笔记
快速学习二维数据可视化
254 0
二维数据可视化|学习笔记
|
SQL 数据可视化 算法
数据可视化—绘制简单的折线图
在使用matplotlib绘制简单的折线图之前首先需要安装matplotlib,直接在pycharm终端pip install matplotlib即可
255 0
数据可视化—绘制简单的折线图