Matlab子图布局进阶:从subplot到Position属性与tiledlayout的精确控制
1. 项目概述为什么需要精细控制子图在Matlab里画图subplot几乎是每个使用者最早接触的命令之一。一句subplot(2,2,1)就能轻松把画布分成四宫格然后在第一个格子里画图这确实方便。但用久了你会发现它带来的“方便”背后是深深的“不自由”。默认的subplot布局是均分画布每个子图之间的间距固定图与图之间、图与画布边缘之间都留着一圈空白。当你需要并排对比两组数据或者想把一个主图配上几个小的局部放大图俗称“插图”或“Inset”时这种僵化的布局就完全不够用了。你可能会觉得图太小看不清或者插图的位置怎么也对不齐非常别扭。这就是我们今天要彻底解决的问题如何像设计师一样在Matlab中自由、精确地控制每一个子图的位置和大小。这不仅仅是让图“好看”一点更是为了高效、清晰地传达数据信息。无论是撰写学术论文、制作项目报告还是进行复杂的数据可视化分析对图形元素的精确排版都是专业性的体现。通过手动设置Position属性你将完全掌控图形布局实现诸如并排多图无空白、复杂嵌套子图、自定义插图等高级效果。接下来我将从底层原理到实战技巧带你掌握这套核心技能。2. 核心原理理解Matlab的图形对象与Position属性要自由控制首先得知道控制的是什么。Matlab的图形系统是面向对象的理解这几个核心对象是关键。2.1 图形对象层级当你创建一个图形时主要涉及三层对象图形窗口Figure最顶层的容器就是你打开的那个窗口。它的Position属性决定了这个窗口在屏幕上的位置和大小格式为[left, bottom, width, height]单位默认是像素pixels但可以更改。坐标轴Axes这是我们通常说的“子图”或“绘图区域”。它才是真正承载曲线、散点、柱状图等数据可视化的容器。一个Figure里可以包含多个Axes对象。我们所说的“调整子图位置和大小”本质上就是设置这些Axes对象的Position属性。图形对象Line, Text, Patch等这些是绘制在坐标轴Axes内的具体元素比如一条曲线、一个标签、一块色块。它们的位置通常相对于其父坐标轴Axes来定义。2.2 Position属性的含义与单位Position属性是一个四元向量[left, bottom, width, height]。left子图左下角相对于其父容器对于Axes来说父容器就是Figure左下角的水平距离。bottom子图左下角相对于其父容器左下角的垂直距离。width子图的宽度。height子图的高度。关键在于理解“归一化坐标”Normalized。默认情况下subplot创建的坐标轴其Position使用的是“归一化”单位。这意味着left,bottom,width,height的取值范围都是[0, 1]。[0, 0]代表父容器的左下角[1, 1]代表右上角。使用归一化单位的好处是与图形窗口的绝对像素尺寸无关无论你如何缩放窗口子图的相对位置和比例关系保持不变。例如一个Position为[0.1, 0.1, 0.8, 0.8]的坐标轴意味着它在图形窗口中居中四周各留了10%的边距。2.3 subplot的局限性subplot(m, n, p)的工作原理可以理解为它先在心里把Figure划分成一个m行n列的网格然后计算第p个格子对应的归一化位置和大小并创建一个使用该Position的坐标轴。它为了确保格子之间不重叠会引入固定的间距SubplotGap并且会“挤占”或“对齐”已有的坐标轴。当你尝试在同一个位置创建第二个坐标轴时subplot默认会删除已存在的那个这就是为什么直接用subplot难以实现重叠或灵活布局的原因。注意subplot的Position计算包含了它自身的边距逻辑这个边距SubplotGap是内部设定的不直接对应归一化坐标中的空白。因此通过subplot创建后再用set(gca, ‘Position’, …)强行修改有时会与subplot的管理逻辑冲突导致意想不到的行为。更稳健的做法是直接创建坐标轴axes并指定位置。3. 实战技巧四种方法精细控制子图布局理解了原理我们来看具体怎么做。从最常用到最灵活我为你梳理了四种方法。3.1 方法一subplot创建后手动调整Position这是最直接的入门方法。先用subplot快速搭建一个大致布局然后获取每个坐标轴的句柄再精细调整其Position。figure(‘Position‘, [100, 100, 1000, 500]); % 创建一个指定位置和大小的图形窗口 % 创建2行2列的布局并激活第1个子图 subplot(2,2,1); plot(randn(10,1)); title(‘子图1 (默认位置)‘); ax1 gca; % 获取当前坐标轴句柄 % 创建并获取其他子图句柄 subplot(2,2,2); plot(randn(10,1)); title(‘子图2‘); ax2 gca; subplot(2,2,3); plot(randn(10,1)); title(‘子图3‘); ax3 gca; subplot(2,2,4); plot(randn(10,1)); title(‘子图4‘); ax4 gca; % 现在开始手动调整 % 让左上角(ax1)的图更宽 set(ax1, ‘Position‘, [0.05, 0.55, 0.5, 0.4]); % [左 下 宽 高] % 让右上角(ax2)的图变窄并靠右 set(ax2, ‘Position‘, [0.6, 0.55, 0.35, 0.4]); % 合并下方两个子图为一个宽图 set(ax3, ‘Position‘, [0.05, 0.05, 0.9, 0.4]); % 隐藏或删除第四个坐标轴因为我们把它合并了 delete(ax4);实操心得使用gcaGet Current Axes或gcfGet Current Figure可以方便地获取句柄。更规范的做法是在创建时保存句柄ax1 subplot(2,2,1);。调整一个坐标轴的Position后其他坐标轴不会自动避让可能会造成重叠。你需要通盘考虑所有坐标轴的位置手动计算。这种方法适合对已有subplot布局进行微调。但对于复杂的新布局从零开始计算Position更清晰。3.2 方法二使用axes命令直接创建定位坐标轴放弃subplot直接使用axes命令是获得最大灵活性的方式。你可以像“摆放积木”一样在画布的任何位置创建任意大小的坐标轴。figure(‘Position‘, [100, 100, 1200, 600]); % 创建主图占据左侧大部分区域 ax_main axes(‘Position‘, [0.1, 0.15, 0.6, 0.75]); % 左10%下15%宽60%高75% x linspace(0, 10, 100); y_main sin(x) 0.1*randn(size(x)); plot(ax_main, x, y_main, ‘b-‘, ‘LineWidth‘, 1.5); xlabel(ax_main, ‘时间 (s)‘); ylabel(ax_main, ‘幅值‘); title(ax_main, ‘主信号波形‘); grid(ax_main, ‘on‘); % 在右上角创建一个局部放大图插图 ax_inset axes(‘Position‘, [0.72, 0.65, 0.25, 0.25]); % 在右上角开辟一小块区域 idx_zoom x 4 x 6; % 放大4到6秒的区域 plot(ax_inset, x(idx_zoom), y_main(idx_zoom), ‘r-‘, ‘LineWidth‘, 2); title(ax_inset, ‘局部放大 (4-6s)‘); ax_inset.Box ‘on‘; % 为插图加上边框 % 在右侧创建一个统计直方图 ax_hist axes(‘Position‘, [0.72, 0.25, 0.25, 0.3]); histogram(ax_hist, y_main, 20, ‘FaceColor‘, ‘green‘, ‘EdgeColor‘, ‘black‘); xlabel(ax_hist, ‘幅值分布‘); ylabel(ax_hist, ‘频数‘); title(ax_hist, ‘幅值直方图‘);注意事项axes(‘Position‘, pos)会创建一个新的坐标轴并自动将其设为当前坐标轴。后续的plot,xlabel等命令会作用在这个新坐标轴上。为了避免混淆强烈建议像上面一样在绘图命令中显式指定目标坐标轴句柄如plot(ax_main, …)。所有Position值必须在 [0, 1] 范围内且left width 1,bottom height 1否则坐标轴会超出图形窗口不可见。这种方法需要你事先规划好每个“积木”的位置和大小进行一些简单的计算。对于规则布局可以结合循环来批量创建。3.3 方法三利用tiledlayout进行更现代化的布局管理从Matlab R2019b开始引入了tiledlayout和nexttile。它比传统的subplot更强大、更易用提供了统一的布局管理特别适合创建具有统一间距、标题和标签的复杂网格。figure(‘Position‘, [100, 100, 1000, 700]); % 创建一个3x2的瓦片布局并指定紧凑的间距 t tiledlayout(3, 2, ‘TileSpacing‘, ‘compact‘, ‘Padding‘, ‘compact‘); % 使用nexttile在下一个可用位置创建坐标轴并绘图 nexttile; % 进入第1个位置 plot(rand(10,1)); title(‘图1‘); nexttile; % 进入第2个位置 plot(rand(10,1)); title(‘图2‘); % 让第3个图横跨两列 nexttile([1, 2]); % [行跨度 列跨度] plot(rand(10,2)); title(‘图3 (跨两列)‘); nexttile; plot(rand(10,1)); title(‘图4‘); nexttile; plot(rand(10,1)); title(‘图5‘); % 还可以创建独立的、不遵循网格的坐标轴类似于axes ax_extra axes(t); % 在tiledlayout t 中创建一个自由坐标轴 ax_extra.Layout.Tile 6; % 指定它放置在第6个瓦片位置 ax_extra.Layout.TileSpan [1, 1]; % 占据1行1列 plot(ax_extra, rand(10,1)); title(ax_extra, ‘图6 (通过axes创建)‘); % 为整个布局添加共享的标题和标签 title(t, ‘使用Tiledlayout管理的复杂布局示例‘); xlabel(t, ‘公共X轴标签‘); ylabel(t, ‘公共Y轴标签‘);tiledlayout的优势自动对齐所有子图的刻度标签、坐标轴框线会自动对齐视觉效果更专业。灵活的跨度通过nexttile([rowspan, colspan])轻松实现子图的合并。统一的边距控制通过‘TileSpacing‘和‘Padding‘选项一次性控制所有子图的内外边距非常方便。共享标题和标签可以为整个布局添加一个总标题和总坐标轴标签这在论文插图中非常有用。与直接设置Position的对比tiledlayout提供了更高层、更结构化的管理。对于大多数网格化或半规则布局它是首选。但对于完全自由、任意位置摆放的布局比如多个重叠的插图直接使用axes(‘Position‘, …)仍是更直接的选择。3.4 方法四计算复杂布局的Position矩阵对于需要精确对齐的多个子图例如并排的多个曲线图要求Y轴刻度标签左对齐手动计算每个Position向量很繁琐。我们可以通过编程方式计算一个Position矩阵。假设我们需要创建3个并排的等宽子图它们之间留有固定间距并且与图形窗口边缘也有间距。figure(‘Position‘, [100, 100, 1200, 400]); % 定义布局参数 numPlots 3; % 3个子图 leftMargin 0.08; % 左边距 rightMargin 0.05; % 右边距 bottomMargin 0.15; % 下边距 topMargin 0.1; % 上边距 horizontalGap 0.04; % 子图之间的水平间隙 % 计算可用总宽度和每个子图的宽度 availableWidth 1 - leftMargin - rightMargin - horizontalGap * (numPlots - 1); plotWidth availableWidth / numPlots; % 计算每个子图的Position for i 1:numPlots left leftMargin (i-1) * (plotWidth horizontalGap); % 高度固定从下边距延伸到上边距 pos [left, bottomMargin, plotWidth, 1 - topMargin - bottomMargin]; ax axes(‘Position‘, pos); data randn(100,1) i; % 生成一些示例数据 plot(ax, data); title(ax, [‘数据集 ‘, num2str(i)]); ylabel(ax, ‘测量值‘); if i 1 % 可以在这里为第一个图添加更详细的Y轴标签 end if i numPlots % 可以在这里为最后一个图添加图例 legend(ax, ‘显示‘); end end这种方法的精髓将布局参数边距、间隙定义为变量然后通过公式计算出每个子图的确切位置。这保证了像素级的精确对齐修改一个参数如horizontalGap所有子图会自动更新位置非常适合需要批量生成或布局经常变动的场景。4. 高级应用与常见问题排查掌握了基本方法我们来看看一些高级技巧和那些容易踩的“坑”。4.1 创建“图中的图”Inset Axes这是科研绘图中非常常见的需求即在主图内部嵌入一个小的子图来展示细节。figure; % 主图 ax_main axes(‘Position‘, [0.15, 0.15, 0.7, 0.7]); x_main 0:0.01:10; y_main sin(x_main) 0.5*cos(2*x_main); plot(ax_main, x_main, y_main, ‘k-‘, ‘LineWidth‘, 1.5); xlabel(‘X‘); ylabel(‘Y‘); title(‘主函数与局部放大‘); % 在特定位置创建插图 (使用归一化坐标相对于主图ax_main!) % 我们希望插图在主图坐标系内的 [4, 6] 区间并放在主图右上角 ax_inset axes(‘Position‘, [0.6, 0.6, 0.25, 0.25]); % 这个位置是相对于Figure的 % 但我们需要将插图的数据范围限定在局部 idx x_main 4 x_main 6; plot(ax_inset, x_main(idx), y_main(idx), ‘r-‘, ‘LineWidth‘, 2); title(ax_inset, ‘局部放大‘); grid(ax_inset, ‘on‘); ax_inset.Box ‘on‘; % 关键一步将插图的坐标轴范围锁定使其不随主图缩放而改变 % 否则当你用鼠标缩放或平移主图时插图可能会乱掉 ax_inset.XLim [4, 6]; ax_inset.YLim [min(y_main(idx)), max(y_main(idx))];重要提示创建插图时其Position是相对于图形窗口Figure的。你需要根据主图的位置计算出插图在窗口中的归一化位置这需要一点几何计算。一个更直观但略复杂的方法是使用axes(‘Parent‘, ax_main, ‘Position‘, [0.6, 0.6, 0.3, 0.3])这样插图的Position就是相对于主图坐标轴的了但这种方法对坐标轴刻度和标签的管理更复杂初学者建议先用相对Figure的绝对位置。4.2 保持坐标轴比例Aspect Ratio有时你需要子图保持特定的宽高比比如显示一个正方形区域的地图或图像。figure; ax axes(‘Position‘, [0.1, 0.1, 0.8, 0.6]); % 先定义一个矩形区域 plot(ax, rand(10,1)); % 强制坐标轴的数据单位在X和Y方向上等比例显示 axis(ax, ‘equal‘); % 或者使用更灵活的方式手动设置比例 % ax.DataAspectRatio [1, 1, 1]; % X:Y:Z 1:1:1 % 此时Matlab会根据DataAspectRatio和PlotBoxAspectRatio自动调整坐标轴在Position框内的实际显示区域可能会在两侧或上下留下空白。设置‘equal‘后Matlab会保证一个数据单位在X轴和Y轴上的物理长度相等。这时你最初设置的Position的宽高比可能不是1:1Matlab会在保持比例的前提下让图形在给定的Position矩形内最大化显示可能导致图形不占满整个指定的矩形区域。4.3 常见问题与解决方案速查表问题现象可能原因解决方案设置了Position但图形没变化或错位1. 句柄错误修改了错误的坐标轴。2. Position值超出[0,1]范围。3. 使用了subplot后又用axes创建句柄管理混乱。1. 绘图后立即用gca或变量保存句柄。2. 检查计算确保leftwidth1,bottomheight1。3. 对于复杂布局统一使用axes(‘Position‘, …)创建避免混用subplot。子图内容如标签被遮挡Position指定的绘图区域过小无法容纳坐标轴标签、标题等。1. 增大width和height。2. 调整left和bottom为标签留出空间。3. 使用tight_subplot等第三方函数自动计算带标签空间的Position。图形保存后与窗口显示不一致保存时如print或saveas使用的分辨率、渲染器或纸张尺寸与屏幕显示不同。1. 在保存前使用set(gcf, ‘PaperPositionMode‘, ‘auto‘)。这会让保存的图像使用屏幕上的尺寸。2. 显式指定保存的尺寸和分辨率print(‘-dpng‘, ‘-r300‘, ‘myfigure.png‘)。使用tiledlayout时自定义Position的axes不听话在tiledlayout中直接创建axes后没有通过Layout属性将其与瓦片布局关联。使用ax axes(t);创建然后设置ax.Layout.Tile和ax.Layout.TileSpan来指定它在网格中的位置。多个坐标轴重叠无法点击或选中预期的图坐标轴的Position区域有重叠且Matlab的图形对象拾取顺序HitTest可能导致上层的图拦截鼠标事件。1. 调整Position避免重叠。2. 如果必须重叠如插图可以设置上层坐标轴的HitTest属性为‘off‘set(ax_inset, ‘HitTest‘, ‘off‘)这样鼠标点击会穿透它选中下层的坐标轴。4.4 性能与最佳实践批量操作在循环中创建和修改多个坐标轴时可以考虑使用hold on在一个坐标轴内绘制多条线而不是创建多个坐标轴对象这样性能更高。但如果需要不同的坐标轴尺度如双Y轴、类型如线性-对数坐标或完全独立的区域则必须创建多个坐标轴。关闭自动重绘在复杂布局的创建过程中可以在开始前设置set(gcf, ‘Visible‘, ‘off‘)或使用set(gcf, ‘HandleVisibility‘, ‘off‘)来暂时隐藏图形等所有设置完成后再显示可以加速创建过程并避免闪烁。使用函数封装如果你经常使用某种特定的布局比如论文要求的双栏并排图可以将计算Position的代码封装成一个自定义函数例如function ax myCustomSubplot(m,n,p)这样以后调用起来就和subplot一样方便但布局完全自定义。通过彻底理解Position属性并熟练运用axes命令和tiledlayout你就能摆脱Matlab默认布局的束缚创造出任何你想要的图形排版效果。这不仅仅是美化更是让数据讲述更清晰、更有力故事的关键一步。

相关新闻

逻辑分析仪阈值电压硬核选购标准全解析|电平判决原理、多电压系统适配、阈值设置避坑实战指南

逻辑分析仪阈值电压硬核选购标准全解析|电平判决原理、多电压系统适配、阈值设置避坑实战指南

专栏开篇导读 绝大多数硬件工程师选购逻辑分析仪时,只会盯着通道数、采样率、存储深度三大参数,90% 以上开发者都会忽略阈值电压可调能力这个核心硬性指标;等到调试不同内核电压电路板(5V 老单片机、3.3V 主流 STM32、1.8V 低压 FPGA)时,才发现固定阈值逻辑分析仪频繁出…

2026/7/31 8:43:48 阅读更多 →
硬件测量双神器|示波器 VS 逻辑分析仪底层原理、信号适配、场景选型、优劣全解 + 逻辑分析仪选购参数终极指南

硬件测量双神器|示波器 VS 逻辑分析仪底层原理、信号适配、场景选型、优劣全解 + 逻辑分析仪选购参数终极指南

专栏定位:嵌入式硬件 / FPGA / 电源研发工程师进阶干货、仪器选型避坑手册、硬件面试核心考点;付费深度连载上篇,全文依托是德科技 (Keysight)、泰克 (Tektronix) 官方技术白皮书、MIT 电子工程讲义、电子发烧友行业选型标准撰写,所有参数、公式、结论均标注权威来源,无主…

2026/7/31 8:43:48 阅读更多 →
Kimi K3 深度测评:长文本之外的真实实力

Kimi K3 深度测评:长文本之外的真实实力

文章基础信息 专栏定位:大模型技术实测 | AI 开发者实战测评 | 国产大模型深度解析 目标读者:算法工程师、后端 / 前端开发、AI 产品经理、科研从业者、AI 副业创作者 付费权益:标准化实测数据集、对比测评表格、本地部署极简脚本、踩坑避坑清单 所有参数、榜单、官方数据均…

2026/7/31 8:43:48 阅读更多 →

最新新闻

Nginx HTTPS端口接收HTTP请求的400错误:原理、排查与解决方案

Nginx HTTPS端口接收HTTP请求的400错误:原理、排查与解决方案

1. 问题现场:当HTTP请求撞上HTTPS端口如果你在配置Nginx反向代理时,在浏览器里访问一个本应走HTTPS的地址,却突然蹦出来一个“400 Bad Request”的错误页面,并且Nginx的错误日志里赫然写着The plain HTTP request was sent to HTT…

2026/7/31 9:17:01 阅读更多 →
C++实现Python风格字符串分割:从原理到工程实践

C++实现Python风格字符串分割:从原理到工程实践

1. 项目概述与核心价值最近在几个C项目里处理文本数据,频繁需要按特定分隔符拆分字符串。每次都得手写循环,处理边界条件,或者去翻标准库找std::getline配合std::istringstream,总觉得不够直观和高效。反观Python,一个…

2026/7/31 9:17:01 阅读更多 →
STM32F103C8T6最小系统板:从硬件设计到软件开发的完整指南

STM32F103C8T6最小系统板:从硬件设计到软件开发的完整指南

1. 项目概述:为什么你需要一块STM32F103C8T6最小系统板? 如果你刚开始接触STM32,或者想快速验证一个想法,那么一块STM32F103C8T6最小系统板几乎是你绕不开的起点。它不像那些功能繁多的开发板,集成了屏幕、传感器、Wi-…

2026/7/31 9:17:01 阅读更多 →
前端转大模型:把边界和取舍讲清楚

前端转大模型:把边界和取舍讲清楚

聊《做过前端的人学大模型,哪些经验可以直接迁移?》之前,先说一句实在的:别急着背概念,先看它在真实项目里到底解决什么问题。 摘要 摘要: 前端开发者转向大模型应用开发,最大的挑战不是模型调…

2026/7/31 9:17:01 阅读更多 →
Matlab子图布局进阶:从subplot到Position属性精准控制

Matlab子图布局进阶:从subplot到Position属性精准控制

1. 引言:为什么你总调不好Matlab子图? 如果你用过Matlab画过几张图,然后把它们用 subplot 拼在一起,大概率遇到过这样的场景:生成的子图要么挤在一起,边上的标签都重叠了;要么四周留白太多&am…

2026/7/31 9:17:01 阅读更多 →
Microsoft Defender for Endpoint Linux版本升级后防病毒服务意外停用,企业Linux服务器安全面临短暂真空

Microsoft Defender for Endpoint Linux版本升级后防病毒服务意外停用,企业Linux服务器安全面临短暂真空

最近一轮Microsoft Defender for Endpoint的更新推送,在Linux服务器圈子里掀起了一阵不小的波澜。不少运维团队在完成升级并重启机器后,发现一件令人头皮发麻的事——防病毒保护居然被静默关闭了。受影响的设备在修复补丁发布前,实际上处于&q…

2026/7/31 9:16:01 阅读更多 →

日新闻

物理复制比逻辑复制好在哪?数据库复制原理详解

物理复制比逻辑复制好在哪?数据库复制原理详解

数据库复制是把主库数据同步到备库的机制,分为逻辑复制和物理复制两种。逻辑复制传输的是 SQL 语句或行变更事件,物理复制传输的是存储引擎底层的物理日志。阿里云 PolarDB(云原生数据库)采用物理复制,在同步延迟、数据…

2026/7/31 0:00:34 阅读更多 →
BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bilib…

2026/7/31 0:00:34 阅读更多 →
有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

当前,游戏行业的“DataAI融合”已从概念验证进入价值落地阶段。根据IDC 2025年数据,中国AI游戏云市场规模已达18.6亿元;同时,游戏研发环节AI渗透率高达86%,生成式AI内容普及率超过50%。面对庞大的市场,游戏…

2026/7/31 0:00:34 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/31 1:03:03 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/31 4:19:39 阅读更多 →

月新闻