matlab使用教程(66)—在图中绘制多条曲线(2019b以下版本)

        您可以采用多种方式合并绘图。利用子图,可在同一坐标区中合并多个图,或在一个图窗中创建多个坐标区。

1.在同一坐标区中合并绘图

        默认情况下,新图将清除现有图,并重置标题等坐标区属性。但是,您可以使用 hold on 命令在同一坐标区中合并多个图。例如,绘制两条直线和一个散点图,然后将 hold 状态重置为 off。

x = linspace(0,10,50);
y1 = sin(x);
plot(x,y1)
title('Combine Plots')

hold on

y2 = sin(x/2);
plot(x,y2)

y3 = 2*sin(x);
scatter(x,y3) 

hold off

        启用 hold 状态后,新图不会清除现有图,也不会重置标题或轴标签等坐标区属性。新图将根据坐标区的 ColorOrder 和 LineStyleOrder 属性循环使用颜色和线型。坐标区范围和刻度值可能会进行调整以适应新数据。

2.使用子图在图窗中创建多个坐标区

        使用 subplot 函数在一个图窗中创建多个坐标区,该函数可将图窗划分为若干个子图网格。subplot 的前两个输入表示每行和每列的子图数。第三个输入指定哪个子图处于活动状态。MATLAB 按行对子图位置编号。图形函数(例如 plot 和 title)的作用目标是活动子图。

        例如,在一个图窗窗口内的 2×1 网格中创建两个堆叠的子图。为每个子图添加标题。

subplot(2,1,1);
x = linspace(0,10,50);
y1 = sin(x);
plot(x,y1)
title('Subplot 1')

subplot(2,1,2);
y2 = rand(50,1);
scatter(x,y2)
title('Subplot 2')

3.创建跨多个网格位置的子图

        要创建跨多个网格位置的子图,请以位置数组的形式指定 subplot 函数的第三个输入参数。例如,创建一个 2×2 网格子图。在图窗的上半部分创建两个子图,在整个下半部分创建一个子图。

figure
subplot(2,2,1);
x = linspace(0,10,50);
y1 = sin(x);
plot(x,y1)

subplot(2,2,2);
y2 = rand(50,1);
scatter(x,y2)

subplot(2,2,[3 4]);
y3 = rand(50,1);
plot(x,y2)

4.修改子图外观

        通过设置底层 Axes 对象的属性,可以修改子图外观。使用 subplot 函数的输出参数访问 Axes 对象。还可以使用 Axes 对象作为图形函数的第一个输入参数,以确保该函数作用于正确的子图。

        例如,创建两个子图,并将 Axes 对象赋给变量 ax1 和 ax2。更改第一个子图的坐标区字体大小和 x 轴颜色。为第二个子图添加网格线。

figure
ax1 = subplot(2,1,1);
x = linspace(0,10,50);
y1 = sin(x);
plot(ax1,x,y1)
title(ax1,'Subplot 1')
ax1.FontSize = 14;
ax1.XColor = 'red';

ax2 = subplot(2,1,2);
y2 = rand(50,1);
scatter(ax2,x,y2)
title(ax2,'Subplot 2')
grid(ax2,'on')

5.为子图网格添加总标题

        在创建包含子图的图窗时,您可能想添加一个适用于所有子图的标题。从 R2018b 开始,您可以使用 sgtitle 函数为子图网格添加一个总标题。

subplot(2,1,1);
x = linspace(0,10,50);
y1 = sin(x);
plot(x,y1)
title('Subplot 1')

subplot(2,1,2);
y2 = rand(50,1);
scatter(x,y2)
title('Subplot 2')

sgtitle('My Subplot Grid Title')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

配电网和matlab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值