matlab的图形绘制是非常重要的一种功能,所有关于数据分析挖掘方面一定会用到此项功能。
首先,plot有几种形式
(1)plot(X,Y):创建数据Y
相对于中相应值X的二维折线图
其中,若X,Y是向量,长度必须相等,图是Y对X的
若X,Y是矩阵,大小必须相等,图是列Y对与列X的
若X或Y一个是向量,一个是矩阵,矩阵必须具有一定的尺寸,使得其尺寸之一等于向量的长度。如果矩阵行的数量等于向量长度,则该plot
函数将绘制每个矩阵列与向量的关系。如果矩阵列的数量等于矢量长度,则该函数将绘制每个矩阵行与矢量的关系。如果矩阵是正方形,则该函数将绘制每列相对于向量的图。
若X或是Y是标量,另一个是标量或向量,图像是离散点,符号一定是plot(X,Y,'o')。
(2)plot(X,Y,LineSpec)::多了一个LineSpec,这个的目的在于设置线性,标记,颜色
(3)plot(X1,Y1,
LineSpec1,...,
Xn,
Yn,
LineSpecn)
设置每条线的线型,标记类型和颜色
(4)plot(Y)
创建数据的二维折线图Y
与每个值的索引
若Y是向量,则x轴刻度范围为1到Y的长度那么大
若Y是矩阵,图像是列Y和行号的关系,X轴从1到Y的行数
若Y是复数,图像是虚部Y对实部Y的图像,plot(real(Y),imag(Y))
(5)plot(Y,LineSpec)对(4)设置线性,颜色,标记类型
附:LineSpec属性表
线性 | 描述 |
---|---|
- | 实线(默认) |
-- | 虚线 |
: | 虚线 |
-. | 点划线 |
图像点的形状 | 描述 |
---|---|
o | 圈 |
+ | 加号 |
* | 星号 |
. | 点 |
x | 十字 |
s | 正方形 |
d | 菱形 |
^ | 向上三角形 |
v | 向下三角形 |
> | 向右三角形 |
< | 左三角形 |
p | 五角星 |
h | 六角形 |
颜色 | 描述 |
---|---|
y | 黄色 |
m | 品红 |
c | 青色 |
r | 红色 |
g | 绿色 |
b | 蓝色 |
w | 白色 |
k | 黑色 |
型
(1)绘制多条线
x=linespace(-2*pi,2*pi); % linespace(x1.x2,n)是均分计算指令,生成x1到x2之间n个行线型矢量
% 默认n是100
y1=sin(x);
y2=cos(x);
plot(x,y1,x,y2)
(2)矩阵做图
y=magic(4) %magic:生成行列和对角线元素和相等的矩阵,第二章的文章中总结过
plot(y)
(3)指定线型,颜色和标记
x = 0:pi/10:2*pi;
y1 = sin(x);
y2 = sin(x-0.25);
y3 = sin(x-0.5);
plot(x,y1,'g',x,y2,'b--o',x,y3,'c*')
(4)在特定点标记
MarkerIndices后设置,每五个数据点用特定点表示,长度是函数y的长度
x = linspace(0,10);
y = sin(x);
plot(x,y,'-o','MarkerIndices',1:5:length(y))
(5)显示轴,标题
x = linspace(0,10,140);
y = cos(3*x);
plot(x,y,'Color',[0,0.7,0.9])
title('曲线图') %标题
xlabel('x') %显示x轴是x
ylabel('cos(3x)') %显示y轴
了解上述知识,即可以独立完成一些作图,没有很复杂的东西,唯一困难的是在不同算法中结合数学公式和数据集完成图像的分析,本人尚才疏学浅,如内容中有任何错误的地方,望告知,我会加以修改,之后会继续更新。