Matlab - Plot in plot(图中画图)

news/2024/7/24 13:26:22 标签: matlab, 开发语言, 信息可视化, 可视化, plot

Matlab - Plot in plot(图中画图)
这是在MATLAB®中创建一个嵌入式图形的示例,可以在另一个图形中显示。
与MATLAB中的“axes”函数相关。

Coding

matlab">% Create data
t = linspace(0,2*pi);
t(1) = eps;
y = sin(t);

% Place axes at (0.1,0.1) with width and height of 0.8
figure
handaxes1 = axes('Position', [0.12 0.12 0.8 0.8]); 

% Main plot
plot(t, y)
xlabel('t')
ylabel('sin(t)')
set(handaxes1, 'Box', 'off')

% Adjust XY label font
handxlabel1 = get(gca, 'XLabel');
set(handxlabel1, 'FontSize', 16, 'FontWeight', 'bold')
handylabel1 = get(gca, 'ylabel');
set(handylabel1, 'FontSize', 16, 'FontWeight', 'bold')

% Place second set of axes on same plot
handaxes2 = axes('Position', [0.6 0.6 0.2 0.2]);
fill(t, y.^2, 'g')
set(handaxes2, 'Box', 'off')
xlabel('t')
ylabel('(sin(t))^2')

% Adjust XY label font
set(get(handaxes2, 'XLabel'), 'FontName', 'Times')
set(get(handaxes2, 'YLabel'), 'FontName', 'Times')

% Add another set of axes
handaxes3 = axes('Position', [0.25 0.25 0.2 0.2]);
plot(t, y.^3)
set(handaxes3, 'Box','off')
xlabel('t')
ylabel('(sin(t))^3')

代码解释

这段MATLAB代码的作用是创建一个嵌入式子图,其中一个sin(t)的主图被嵌入到两个较小的子图中,每个子图都显示sin(t)的不同幂次方。

首先,通过linspace函数创建一个0到2π之间的均匀分布的时间轴t,然后计算它的sin值作为y。eps函数将t的第一个元素设置为机器精度,以避免在绘图时产生奇怪的结果。

接下来,使用axes函数在新的图形窗口中创建一个名为handaxes1的坐标系,并将其位置设置为[0.12 0.12 0.8 0.8],即相对于图形窗口的左下角为(0.12,0.12),宽度和高度都是0.8。然后在这个坐标系上绘制sin(t)的主图,设置x轴和y轴标签,并将Box属性设置为’off’,以避免边框围绕整个图形。

然后,使用get函数获取当前坐标系的x轴和y轴标签,并使用set函数调整它们的字体大小和字体加粗程度。

接下来,使用axes函数在相同的坐标系上创建一个名为handaxes2的新坐标系,并将其位置设置为[0.6 0.6 0.2 0.2]。然后在这个坐标系上使用fill函数绘制sin(t)的平方图形,设置x轴和y轴标签并将Box属性设置为’off’。最后,使用set函数调整x轴和y轴标签的字体类型。

最后,使用axes函数在相同的坐标系上创建一个名为handaxes3的新坐标系,并将其位置设置为[0.25 0.25 0.2 0.2]。然后在这个坐标系上绘制sin(t)的立方图形,设置x轴和y轴标签并将Box属性设置为’off’。

总之,这段代码演示了如何在MATLAB中创建一个嵌入式子图,并在主图中显示不同的sin(t)幂次方。

图形展示

在这里插入图片描述

Reference

MATLAB Plot Gallery - Plot in Plot


http://www.niftyadmin.cn/n/346744.html

相关文章

判断传入数据是否为列表、数组、数据框等数据结构pd.api.types.is_list_like()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 判断传入数据是否为 列表、数组、数据框等数据结构 pd.api.types.is_list_like() 选择题 下列说法错误的是? import pandas as pd import numpy as np print("【执行】pd.api.ty…

GO开篇:手握Java走进Golang的世界

文章目录 一、Golang简介1、Go的诞生2、Go的官网域名3、Go的发展4、Go的设计思想5、Go的特点6、Go的性能7、Go的吉祥物 二、Go和Java的宏观对比1、编译型语言 or 解释型语言2、微观对比 三、Go应用场景1、开源上的应用 四、总结和后续 一、Golang简介 Go(又称 Gola…

随想录训练营38/60 | 完全背包;LC 518. 零钱兑换 II;LC 377. 组合总和 Ⅳ

完全背包 什么是完全背包? 完全背包和01背包的区别就是,完全背包能将某个物品添加无数次。 在二维dp数组迭代更新中体现为: 01背包dp数组由左上面的数组更新而成; 完全背包do数组由包括本行在内的左边的数组更新而成。 在一维dp数…

VIBRO-METER VM600 IRC4 智能继电器卡

额外的继电器,由来自MPC4和/或AMC8卡的多达86个输入的方程驱动,用于需要2oo3表决等更复杂的逻辑时8个继电器,可配置为8个SPDT或4个DPDT使用IRC4配置器软件进行完全软件配置继电器可配置为正常通电(NE)或正常断电(NDE),具有可配置的…

Go语言面试题--必会语法(2)

文章目录 1.函数执行时,如果由于 panic 导致了异常,则延迟函数不会执行。这一说法是否正确?2.下面代码输出什么?3.下面这段代码输出什么?请简要说明。4.下面代码输出什么? 1.函数执行时,如果由于…

MQTT Part 5 主题和最佳实践

主题 主题是一个UTF-8字符串,代理用它来过滤每个连接的客户端的消息。 主题由一个或多个主题级别组成。 每个主题级别之间由正斜杠(主题级别分隔符)分隔。 与消息队列相比,主题非常轻量级。 客户端不需要在发布或订阅之前创建所需…

linux启动后端服务

1、下载jdk wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24http%3A%2F%2Fwww.oracle.com%2F; oraclelicenseaccept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jd…

MyBatis中数组或集合的遍历

MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其它类似框架的经验,就能体会到根据不同条件拼接 SQL 语句的痛苦。在Java项目中,通过动态SQL批量查询数据是很常见的情形,作为传值的字段可以是一个数组或集合。如何正确引用&a…