matlab - gui中的Matlab多个子图
问题描述
我目前正在Matlab Gui中进行多元回归。我有一个名为A的变量和一个名为X的矩阵,它有很多列,表示为 X1,X2,...Xn。我想制作一个在A和每个X列之间有子图(每行 2 个)的图。问题是当用户插入他的X矩阵时,这些列可能是 1 ,2 或 10。我想我必须为 X 做一个 for 循环。这在子图中是否可能?我在想类似的事情。有人可以帮我让它工作吗?
cols = size(X,2);
figure;
for i = 1:cols
subplot(ceil(cols/2),2,i)
scatter(A,X(i,:));
end
我想要的输出必须在 Y ax 中带有向量 A的子图,矩阵 XIe 的每一列如果 X 有 5 列,我想要一个带有 5 个子图的图形。
解决方案
是的你可以。下面是一个演示。
从subplot引用:
subplot(m,n,p) 将当前图窗划分为 m×n 网格,并在 p 指定的位置创建坐标区。
因此,您a
应该是总列数除以 2。但是,这可能会导致奇数列的非整数。您将需要用 包装商ceil
。
randomColNum = randi([1,10]);
randomRowNum = randi([10,20]);
A = rand(1,randomRowNum ); % make a random vector to imitate matrix A.
X = rand(randomRowNum, randomColNum ); % make a random matrix to imitate user input X.
cols = size(X,2);
figure;
for i = 1:cols
subplot(ceil(cols/2),2,i)
scatter(X(:,i), A);
end
推荐阅读
- python - 无法在自定义 python 日志记录类中设置日志级别
- java - 优化 SQL 查询的数量
- ios - Swift:在 tableView 中保存按钮图像
- java - 无法在 Spring Boot 2/Thymeleaf 3 中显示登录用户
- java - 根据得分找到赢家、输家和平局玩家
- amp-html - 是否可以在 AMP-HTML 中循环播放 vimeo 视频?
- python-3.x - Gekko优化问题中IMODE的选择
- javascript - 使用 React-Redux “connect” 时 App 类中的错误
- php - 什么填充了 Sylius 资源元数据注册表?
- javascript - material-ui:从 onClick() 处理程序中的芯片组件获取标签