如何在 MATLAB 图形中设置子图大小?

2023-12-27

我经常需要将 10 个图像绘制在一起,但使用此代码会产生小图像:

img = rand(400,600); 
for i=1:10
 subplot(2,5,i); 
 imshow(img); 
 title(['Image ' int2str(i)]); 
end

正如您所看到的,图像没有使用屏幕中的所有可用空间。如何增加大小或减少它们之间的填充/边距?

谢谢你的帮助。


我不相信有一种简单的方法可以做到这一点。有两种选择:

首先,使用子图的位置部分:

>> subplot(2,5, i, [l, b, w, h])

并计算左、下、宽、高。

或者,获取返回轴的句柄:

>> h(i) = subplot(2,5,i);

然后修改轴。

>> set(h(1), 'position', [l, b, w, h] );

有许多页面将提供更多详细信息,例如,http://www.briandalessandro.com/blog/how-to-make-a-borderless-subplot-of-images-in-matlab/ http://www.briandalessandro.com/blog/how-to-make-a-borderless-subplot-of-images-in-matlab/

[update]

下面的代码更详细地说明了谁可以做您正在寻找的事情。这有点乏味。 0.95 和 0.02 只是为了提供一点填充。它们并不神奇。 :-)

另一件需要注意的事情是,我真的鼓励您使用“ii”作为索引变量(或其他变量),因为“i”被定义为 sqrt(-1)。不使用“i”和“j”作为索引变量是一个很好的约定(尤其是在 Matlab 中)。

img = rand(400,600); 

figure(1);
clf();
hold on;

% Get the width and height of the figure
lbwh = get(1, 'position');
figw = lbwh(3);
figh = lbwh(4);

% Number of rows and columns of axes
ncols = 5;
nrows = 2;

% w and h of each axis in normalized units
axisw = (1 / ncols) * 0.95
axish = (1 / nrows) * 0.95

for ii=1:10

    % calculate the row and column of the subplot
    row = floor( ii/(ncols+1) ) + 1
    col = mod( ii-1, ncols ) + 1

    % calculate the left, bottom coordinate of this subplot
    axisl = (axisw+0.02) * (col-1)
    axisb = (axish+0.02) * (row-1)

    %  plot the subplot
    h= subplot('position', [axisl, axisb, axisw, axish] ); 
    imshow(img); 
    title(['Image ' int2str(ii)]); 

    pause
end

您必须使用它才能使其完全按照您的要求行事。 “帮助”是你的朋友。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 MATLAB 图形中设置子图大小? 的相关文章

  • 再现频率矩阵图

    我想在 R 中重新创建一个情节 情节如下 来源 Boring E G 1941 作为动态平衡的统计频率 心理学评论 48 4 279 这略高于我的工资等级 能力 因此在这里询问 无聊的状态 第一次 A 只能出现 从不 0 或 总是 1 在
  • 直方图均衡结果

    I am trying to code histogram equalization by my self but the results are different from the built in function in matlab
  • 在单个显示器中绘制多个 jpeg 图像

    我需要在单个组合显示器 或画布 中绘制和显示多个 jpeg 图像 例如 假设我有图像 a b c d jpg 每个图像的大小不同 我想将它们绘制在 2x2 网格的一页上 能够为每个子图设置标题也很好 我一直在彻底寻找解决方案 但不知道如何去
  • 在 Matlab 的命令窗口中获取旧式帮助

    问题的简短版本 在最新版本的 Matlab 中 我在 Windows 上的 R2014b 和 R2015a 中看到过 当您键入help foo你得到一个简要描述 简介函数及其签名 例如 输入help bsxfun产生类似这样的东西 只有更好
  • 在Matlab中对字符进行分组并形成矩阵

    我有 26 个字符 A 到 Z 我将 4 个字符组合在一起 并用空格分隔以下 4 个字符 如下所示 abcd efgh ijkl mnop qrst uvwx yz 我的Matlab编码如下 str abcdefghijklmnopqrst
  • 使用 Matplotlib 绘制二维数组

    所以我有一个二维数组 名为 Data 如下所示 Shape 0 Shape 1 Shape N Scale 0 Value00 Value01 Value0N Scale 1 Value10 Value11 Value1N Scale N
  • 在 MATLAB 中模拟 C++ 模板

    我试图找出创建 C 模板或 Java 通用对象的替代方案的最佳方法 出于多种不同的原因 我过去曾多次想这样做 但现在我想做的是为几个相关的类创建 saveobj 和 loadobj 函数 我的想法是 我想要一组通用的例程来创建默认结构 然后
  • 最小二乘法拟合直线 python 代码

    我有一个由 X 和 Y 坐标组成的散点图 我想使用直线的最小二乘拟合来获得最佳拟合线 直线最小二乘拟合是指 如果 x 1 y 1 x n y n 是测量数据对 则最佳直线是y A Bx 这是我的Python代码 number of poin
  • Matlab 图像数据的 hist 函数

    我是 Matlab 新手 我想制作自己的函数 与 imhist 显示图像数据的直方图 完成相同的工作 但我对此完全是新手 我不知道如何做开发这样的功能 我开始做一些东西 但它非常不完整 function output args myhist
  • for 循环中的绘图没有可见点

    我正在努力解决我想使用 for 循环制作的情节 我知道当我在循环之后添加它时它会起作用 只是一个简单的图 但我想用另一种方式尝试一下 fib ones 1 10 for k 3 10 hold on fib k fib k 1 fib k
  • 使用seaborn绘制简单线图

    我正在尝试使用seaborn python 绘制ROC曲线 对于 matplotlib 我只需使用该函数plot plt plot one minus specificity sensitivity bs where one minus s
  • 以 2 为底的矩阵对数

    Logm 取矩阵对数 并且log2 取矩阵每个元素以 2 为底的对数 我正在尝试计算冯 诺依曼熵 它涉及以 2 为底的矩阵对数 我该怎么做呢 如果将 以 2 为底 的矩阵指数定义为B expm log 2 A 或者如果您类似地通过特征分解直
  • 禁止 MATLAB 自动获取焦点[重复]

    这个问题在这里已经有答案了 我有以下问题 在我的 MATLAB 代码中 我使用如下语句 figure 1 更改某些数据的目标数字 问题是 在此 MATLAB 之后 系统将焦点集中在具有该图形的窗口上 当我在后台运行一个大脚本并尝试在计算机上
  • 将 Matlab 数组移植到 C/C++

    我正在将 matlab 程序移植到 C C 我有几个问题 但最重要的问题之一是 Matlab 将任何维度的数组都视为相同 假设我们有一个这样的函数 function result f A B C result A 2 B C A B and
  • Delphi XE7 Android 全屏(隐藏软键)

    如何在XE7中全屏显示 隐藏顶部 标题 和底部 软键 工具栏 在 XE6 中 我可以通过在应用程序部分写入来调整 AndroidManifest 以使我的应用程序全屏显示并且没有操作栏 android theme android style
  • 在 MATLAB 中绘图后恢复轴

    从文本文件绘制多种方法的输出后 未显示轴的右侧和上侧 我需要拥有它们并将它们加粗 就像当前的轴一样 绘制的数据来自存储每种方法数据的文件 每个数据文件都是一个 256x2 文件 包含 0 1 之间的值 第一列是精度 第二列是召回率 figu
  • 如何选择面积最大的对象?

    我用过bwconvhull检测图像的某个部分 正如您在图像中看到的那样 有许多具有特定质心的对象 我想做的是检测面积最大的物体 左起第一个大物体 并忽略其他物体 我应该遵循哪种方法 我将非常感谢您的帮助 以下是代码 由于我仍在努力 所以写得
  • 填充两个函数之间的区域

    import matplotlib pyplot as plt import numpy as np def domain x np arange 0 10 0 001 f1 lambda x 2 x x 2 0 5 plt plot x
  • 如何通过辅助功能 API 获取当前所选文本的全局屏幕坐标。

    我需要帮助来了解字典应用程序如何在任何应用程序上按 CMD CTRL D 时显示所选文本的以下弹出对话框 我想实施 我的可可应用程序具有相同的功能 我的应用程序将在后台运行 并显示有关所选文本的一些热键的建议 我已经实现了热键捕获 我只需要
  • 更改绘图区域背景颜色

    我想使用我们公司的颜色在 R 中制作一个图表 这意味着所有图表的背景应为浅蓝色 但绘图区域应为白色 我正在寻找答案 发现绘制一个矩形就可以完成这项工作 几乎 然而 绘图区域现在是白色的 并且图形不再可见 这可能吗 getSymbols SP

随机推荐

  • 枚举声明中不必要的逗号[重复]

    这个问题在这里已经有答案了 可能的重复 NET 枚举允许在最后一个字段中使用逗号 https stackoverflow com questions 2147333 net enumeration allows comma in the l
  • 更改表所有者

    我正在尝试更改表的所有者 sp changeobjectowner OWNER TABLENAME dbo 但是执行时我收到错误消息 消息 15001 级别 16 状态 1 过程 sp changeobjectowner 第 62 行对象
  • 调试 KML 文件

  • 浮点和定点表示的优缺点[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在过去的三天里 我一直在尝试理解浮点表示和定点表示之间的确切区别 我在阅读这些材料时感到困惑 无法确定什么是对的 什么是错的 问题之一
  • 将查询结果传递到存储过程

    我有一个接受三个参数的存储过程 是否可以使用查询作为输入来调用此存储过程 举个例子 我有tableA SELECT FROM TABLEA A B C 1 2 3 4 5 6 现在 有什么方法可以调用 EXEC sp name SELECT
  • 2D瓦片地图生成

    对于 2D 图块引擎 我正在研究地图生成算法 我尝试了高度图生成 山地一代 柏林噪声 菱形方形 适合具有高度组件的图块地图 但我有草 海 沙漠等精灵 它们的放置方式应如下所示 一切都从海洋开始 岛屿被放置在地图的中间 这是我尝试的算法大多失
  • 如何从随机网页中抓取文本和图像?

    我需要一种方法来直观地表示互联网上的随机网页 比如说this https www reddit com r food comments 85rm0d homemade chocolate banana bread with nuts 网页
  • 如何存储历史数据[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我和一些同事就存储历史数据的最佳方式进行了争论 目前 对于某些系统 我使用单独的表来存储历史数据 并为当前活动记录保留原始表 所以 假设我有
  • 如何在android中的后者边界内打开另一个应用程序内的应用程序?

    如何在android中的后者边界内打开另一个应用程序内的应用程序 即 类似于 HTML 中的 iframe 的作用 你基本上不能 这违反了Android的规则 您最多能做的就是打开一个网页作为应用程序的一部分 这是使用 webView 完成
  • LevelDB 与 std::map

    在我们的应用程序中我们使用std map存储 键 值 数据并使用序列化将该数据存储在磁盘上 通过这种方法 我们发现磁盘 I O 是性能瓶颈 并且使用 key 查找值并不是很快 我遇到过 LevelDB 并考虑使用它 但我有一些问题 Leve
  • 为什么 `;;` 在 utop 中给我一个语法错误?

    我正在开发一个简短的项目 将小程序从 python 转换为 java 反之亦然 我创建了以下代码 并在 utop 中进行了测试 let c let x for int i 0 i lt 10 i and y for i in range 0
  • 在 bash 脚本/命令中,如何发出 PC 蜂鸣声或播放声音文件?

    我有一些长时间运行的脚本 需要输入 交互才能继续 但是当我切换到另一个窗口时 我希望收到 通过声音 通知任务已完成并且正在等待输入 我希望能够播放音频剪辑 mp3 ogg 等 但不关心唯一的解决方案是否是让 PC 扬声器发出蜂鸣声 有任何想
  • 如何从 UIView 类的 xib 文件导航到 ViewController

    我的 xib 文件中有一个包含按钮的视图 当我按下按钮时我想移动到 ViewController IBAction 我使用了下面的代码 let storyBoard UIStoryboard UIStoryboard name Main b
  • 从本地通知启动关闭的 iOS 应用程序

    当我的 iOS 应用程序在后台运行时 它响应良好 void application UIApplication application didReceiveLocalNotification UILocalNotification noti
  • Python 中的元组和 CSV 读取器

    尝试一些相对简单的事情 首先 我有一个以元组为键的字典 如下所示 0 1 1 0 索引 1 我正在读取一个 CSV 文件 该文件具有一组相应的字段 其中包含这些零和一的各种组合 例如 CSV 中的行可能会读取 0 1 1 0 而无需任何引号
  • 按值对 dict 进行排序,然后如果按键相等

    我创建了一个字典 键 列表中的单词值 它们的数量 想要按计数 值 对它们进行排序 那么如果计数相等 则按 alpha 键 对它们进行排序 a to be or not to be ae ae w for i in a w i a count
  • Java 中的嵌套枚举

    我想嵌套一些枚举 我代表的对象是标志 具有类型和值 有离散数量的类型 每种类型都有一组不同的可能值 因此 如果类型 A 可以有值 1 2 或 3 而类型 B 可以有值 4 5 6 我希望能够执行以下操作 Flag f Flag A 1 f
  • 我应该如何将 try-with-resources 与 JDBC 结合使用?

    我有一种使用 JDBC 从数据库获取用户的方法 public List
  • 如何在idea中调试play2?

    我在互联网上找到了一些文章和谷歌小组上的一些讨论 但它们不再起作用了 最新的play2 RC3如何做到这一点 您可以从控制台以调试模式启动播放服务器 docs http www playframework org documentation
  • 如何在 MATLAB 图形中设置子图大小?

    我经常需要将 10 个图像绘制在一起 但使用此代码会产生小图像 img rand 400 600 for i 1 10 subplot 2 5 i imshow img title Image int2str i end 正如您所看到的 图