MATLAB二维平面绘图
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 返回的三个输出的变量:
  1. AX – 一个包含两个元素的数组,这两个元素分别是左侧和右侧y轴的句柄(或者说是指向这两个y轴的引用)。通过这些句柄,你可以修改和访问与这两个y轴相关的属性,比如标签、刻度、颜色等。
  2. H1 – 第一个数据集的图形对象句柄。这个句柄指向使用左侧y轴绘制的图形,通常用于进一步自定义该图形的属性,如线型、颜色、标记等。
  3. 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
  1. 代码清晰度:
    • 使用 yyaxis 的代码更加直观和易于阅读。每个轴的设置都清晰地分组在一起,易于理解每一部分的作用。
  2. 控制灵活性:
    • yyaxis 提供了更好的控制灵活性。你可以直接对每个轴进行操作,而不是像在 plotyy 中那样需要通过轴句柄来间接访问。
  3. 代码简洁性:
    • 使用 yyaxis,设置轴标签更为直接,不再需要通过 getset 函数间接设置,这使得代码更加简洁。
  4. 样式设置:
    • plot 函数中直接设置线型(如 --:),使得样式设置更加直观,不需要额外的 set 调用。
  5. 维护和更新:
    • 使用 yyaxis 的代码更易于维护和更新。例如,如果你想添加更多的图形或更改现有图形的某些属性,使用 yyaxis 会更直接和方便。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇