x = 0:0.01:2*pi;
y = sin(x);
figure % 创建一个幕布
plot(x,y) % 绘制二维平面图
title('标题')
xlabel('x')
ylabel('y')
xlim([0 2*pi]) % 设置x轴的显示范围从0到2*pi
修改颜色:你可以通过在plot
函数中设置'color'
参数来指定线的颜色。颜色可以使用字符串表示,例如'r'
表示红色,'b'
表示蓝色,等等。
plot(x, y, 'color', 'r') % 这会将线的颜色设置为红色
修改线型:你可以通过在plot
函数中设置'linestyle'
参数来指定线的类型。常见的线型包括实线('-'
)、虚线('--'
)、点线(':'
)等等。
plot(x, y, 'linestyle', '--') % 这会将线型设置为虚线
修改数据标记点:你可以通过在plot
函数中设置'marker'
参数来指定数据点的标记样式。标记样式可以是圆点('o'
)、方块('s'
)、星号('*'
)等等。
plot(x, y, 'marker', 'o') % 这会在数据点处添加圆点标记
你还可以组合使用这些参数来创建自定义的图形,例如设置红色虚线并在数据点处添加蓝色星号标记:
plot(x, y, 'color', 'r', 'linestyle', '--', 'marker', '*')
例子(旧版plotyy)
% 定义x的范围
x = 0:0.01:20;
% 定义两个函数
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
% 创建一个图形窗口
figure
% 使用plotyy来绘制两个具有不同y轴的图形
[AX, H1, H2] = plotyy(x, y1, x, y2, 'plot');
% 设置左侧y轴的标签
set(get(AX(1),'Ylabel'), 'String', 'Slow Decay');
% 设置右侧y轴的标签
set(get(AX(2),'Ylabel'), 'String', 'Fast Decay');
% 设置x轴的标签
xlabel('Time (musec)');
% 设置图形的标题
title('Multiple Decay Rates');
% 设置第一个图形(y1)的线型为虚线
set(H1, 'LineStyle', '--');
% 设置第二个图形(y2)的线型为点线
set(H2, 'LineStyle', ':');
[AX, H1, H2]在MATLAB中,当使用 plotyy
函数时,[AX, H1, H2]
这一部分代码的作用是接收 plotyy
返回的多个输出。
plotyy
函数用于创建一个双y轴图,其中两个数据集共享x轴但有各自独立的y轴。这对于同时显示两个数据集非常有用,尤其是当这两个数据集的量级或单位差异较大时。[AX, H1, H2]
是用来接收plotyy
返回的三个输出的变量:
AX
– 一个包含两个元素的数组,这两个元素分别是左侧和右侧y轴的句柄(或者说是指向这两个y轴的引用)。通过这些句柄,你可以修改和访问与这两个y轴相关的属性,比如标签、刻度、颜色等。H1
– 第一个数据集的图形对象句柄。这个句柄指向使用左侧y轴绘制的图形,通常用于进一步自定义该图形的属性,如线型、颜色、标记等。H2
– 第二个数据集的图形对象句柄。这个句柄指向使用右侧y轴绘制的图形,并且也用于定制该图形的属性。
[AX, H1, H2]
在 MATLAB 中,get(AX(1),'Ylabel')
这个表达式是用来获取与图形中左侧 y 轴相关的标签对象。这里,AX(1)
指的是使用 plotyy
函数创建的双 y 轴图形中的第一个轴(通常是左侧的 y 轴)。
解析一下这个表达式:
AX
是一个包含两个图形轴对象的数组,这是plotyy
函数的输出之一。AX(1)
指的是这两个轴中的第一个,即左侧的 y 轴。get
函数用于获取图形对象的属性。在这种情况下,它被用来获取AX(1)
,也就是左侧 y 轴的属性。'Ylabel'
是get
函数的参数,指定要获取的属性是 y 轴的标签。
因此,get(AX(1),'Ylabel')
返回一个图形文本对象,该对象包含了左侧 y 轴的标签信息。
例子修改版yyaxis
% 定义 x 的范围
x = 0:0.01:20;
% 定义两个函数
y1 = 200*exp(-0.05*x).*sin(x);
y2 = 0.8*exp(-0.5*x).*sin(10*x);
% 创建一个图形窗口
figure
% 设置并绘制左侧 y 轴的图形
yyaxis left
plot(x, y1, '--') % 设置线型为虚线
ylabel('Slow Decay') % 设置左侧 y 轴标签
% 设置并绘制右侧 y 轴的图形
yyaxis right
plot(x, y2, ':') % 设置线型为点线
ylabel('Fast Decay') % 设置右侧 y 轴标签
% 设置 x 轴标签和图形标题
xlabel('Time (musec)')
title('Multiple Decay Rates')
% 开启网格
grid on
- 代码清晰度:
- 使用
yyaxis
的代码更加直观和易于阅读。每个轴的设置都清晰地分组在一起,易于理解每一部分的作用。
- 使用
- 控制灵活性:
yyaxis
提供了更好的控制灵活性。你可以直接对每个轴进行操作,而不是像在plotyy
中那样需要通过轴句柄来间接访问。
- 代码简洁性:
- 使用
yyaxis
,设置轴标签更为直接,不再需要通过get
和set
函数间接设置,这使得代码更加简洁。
- 使用
- 样式设置:
- 在
plot
函数中直接设置线型(如--
或:
),使得样式设置更加直观,不需要额外的set
调用。
- 在
- 维护和更新:
- 使用
yyaxis
的代码更易于维护和更新。例如,如果你想添加更多的图形或更改现有图形的某些属性,使用yyaxis
会更直接和方便。
- 使用