本文主要介绍MATLAB 中plot函数画图的基本用法。
语法
plot(X,Y)
plot(X,Y,LineSpec)
plot(X1,Y1,...,Xn,Yn)
plot(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn)
plot(Y)
plot(Y,LineSpec)
plot(tbl,xvar,yvar)
plot(tbl,yvar)
plot(ax,___)
plot(___,Name,Value)
p = plot(___)
创建线图
将 x
创建为由 0 和 2π 之间的线性间隔值组成的向量。在各值之间使用递增量 π/100。将 y
创建为 x
的正弦值。创建数据的线图。
x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)
绘制多条线图
将 x
定义为 100 个介于 −2π 和 2π 之间的线性间隔值。将 y1
和 y2
定义为 x
的正弦和余弦值。创建上述两个数据集的线图。
x = linspace(-2*pi,2*pi);
y1 = sin(x);
y2 = cos(x);
figure
plot(x,y1,x,y2)
指定线形
绘制三条正弦曲线,每条曲线之间存在较小的相移。第一条曲线使用默认的线型。为第二条曲线指定虚线样式,为第三条曲线指定点线样式。
x = 0:pi/100:2*pi;
y1 = sin(x);
y2 = sin(x-0.25);
y3 = sin(x-0.5);
figure
plot(x,y1,x,y2,'--',x,y3,':')
指定线形,颜色和标记
绘制三条正弦曲线,每条曲线之间存在较小的相移。第一条正弦曲线使用绿色线条,不带标记。第二条正弦曲线使用蓝色虚线,带圆形标记。第三条正弦曲线只使用青蓝色星号标记。
x = 0:pi/10:2*pi;
y1 = sin(x);
y2 = sin(x-0.25);
y3 = sin(x-0.5);
figure
plot(x,y1,'g',x,y2,'b--o',x,y3,'c*')
指定线宽,标记大小和标记颜色
创建线图并使用 LineSpec
选项指定带正方形标记的绿色虚线。使用 Name,Value
对组来指定线宽、标记大小和标记颜色。将标记边颜色设置为蓝色,并使用 RGB 颜色值设置标记面颜色。
x = -pi:pi/10:pi;
y = tan(sin(x)) - sin(tan(x));
figure
plot(x,y,'--gs',...
'LineWidth',2,...
'MarkerSize',10,...
'MarkerEdgeColor','b',...
'MarkerFaceColor',[0.5,0.5,0.5])
添加标题和坐标轴
x = linspace(0,10,150);
y = cos(5*x);
figure
plot(x,y,'Color',[0,0.7,0.9])
title('2-D Line Plot')
xlabel('x')
ylabel('cos(5x)')
基于表格绘制坐标
基于表数据绘图的一种便捷方法是将表传递给 plot
函数,并指定要绘制的变量。
将 weather.csv
作为时间表 tbl
读取。然后显示该表的前三行。
tbl = readtimetable("weather.csv");
tbl = sortrows(tbl);
head(tbl,3)
p = plot(tbl,"RainInchesPerMinute");
在 x 轴上绘制行时间,在 y 轴上绘制 RainInchesPerMinute
变量。在绘制来自时间表的数据时,默认情况下,行时间绘制在 x 轴上。因此,不需要指定 Time
变量。以 p
形式返回 Line
对象。轴标签与变量名称匹配。
要修改线条的各个方面,请对 Line
对象设置 LineStyle
、Color
和 Marker
属性。例如,将线条更改为具有点标记的红色点线。
p.LineStyle = ":";
p.Color = "red";
p.Marker = ".";
在一个轴上面绘制多个表变量
将 weather.csv
作为时间表 tbl
读取,并显示表的前几行。
tbl = readtimetable("weather.csv");
head(tbl,3)
在 x 轴上绘制行时间,在 y 轴上绘制 Temperature
和 PressureHg
变量。在绘制来自时间表的数据时,默认情况下,行时间绘制在 x 轴上。因此,不需要指定 Time
变量。
添加一个图例。图例标签与变量名称匹配。
plot(tbl,["Temperature" "PressureHg"])
legend