本文主要介绍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)

用输入为图片训练CNN的 matlab代码_Line

绘制多条线图 

将 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)

用输入为图片训练CNN的 matlab代码_matlab_02

 指定线形

绘制三条正弦曲线,每条曲线之间存在较小的相移。第一条曲线使用默认的线型。为第二条曲线指定虚线样式,为第三条曲线指定点线样式。

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,':')

用输入为图片训练CNN的 matlab代码_数据_03

 

指定线形,颜色和标记

绘制三条正弦曲线,每条曲线之间存在较小的相移。第一条正弦曲线使用绿色线条,不带标记。第二条正弦曲线使用蓝色虚线,带圆形标记。第三条正弦曲线只使用青蓝色星号标记。

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*')

用输入为图片训练CNN的 matlab代码_图例_04

 指定线宽,标记大小和标记颜色

创建线图并使用 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])

用输入为图片训练CNN的 matlab代码_Line_05

添加标题和坐标轴 

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)')

 

用输入为图片训练CNN的 matlab代码_数据_06

基于表格绘制坐标 

基于表数据绘图的一种便捷方法是将表传递给 plot 函数,并指定要绘制的变量。

将 weather.csv 作为时间表 tbl 读取。然后显示该表的前三行。

tbl = readtimetable("weather.csv");
tbl = sortrows(tbl);
head(tbl,3)

用输入为图片训练CNN的 matlab代码_开发语言_07

p = plot(tbl,"RainInchesPerMinute");

 在 x 轴上绘制行时间,在 y 轴上绘制 RainInchesPerMinute 变量。在绘制来自时间表的数据时,默认情况下,行时间绘制在 x 轴上。因此,不需要指定 Time 变量。以 p 形式返回 Line 对象。轴标签与变量名称匹配。

用输入为图片训练CNN的 matlab代码_数据_08

要修改线条的各个方面,请对 Line 对象设置 LineStyleColor 和 Marker 属性。例如,将线条更改为具有点标记的红色点线。 

p.LineStyle = ":";
p.Color = "red";
p.Marker = ".";

用输入为图片训练CNN的 matlab代码_开发语言_09

 

在一个轴上面绘制多个表变量

将 weather.csv 作为时间表 tbl 读取,并显示表的前几行。

tbl = readtimetable("weather.csv");
head(tbl,3)

用输入为图片训练CNN的 matlab代码_Line_10

 

在 x 轴上绘制行时间,在 y 轴上绘制 Temperature 和 PressureHg 变量。在绘制来自时间表的数据时,默认情况下,行时间绘制在 x 轴上。因此,不需要指定 Time 变量。

添加一个图例。图例标签与变量名称匹配。

plot(tbl,["Temperature" "PressureHg"])
legend

用输入为图片训练CNN的 matlab代码_Line_11