在MATLAB中的另一个子图中绘制一个子图

第311章

我正在尝试在MATLAB中的另一个子图中绘制一个子图。问题在于最终子图仅显示较小子图的一部分。在网上搜索后,这里似乎有一个选择是将子图保存到一个临时图形中,然后将其添加到最终的子图中。另一种方法是在最终图形中手动指定图的位置,即滚动自己的子图。我想知道是否有更优雅的方法。如果这是不可能的/不希望的行为,请提前道歉。我对代码如何运行的想法是:

someData = linspace(0,10);
subplot(2,2,1);
plotThing(someData);
subplot(2,2,2);
plot(cos(someData));

function [ out ] = plotThing( someData )
   y1 = sin(someData);
   y2 = sin(2*someData);
   y3 = sin(4*someData);
   y4 = sin(8*someData);
   f = figure(4);

   subplot(2,2,1)
   plot(someData,y1)
   subplot(2,2,2)
   plot(someData,y2)
   subplot(2,2,3)
   plot(someData,y3)
   subplot(2,2,4)
   plot(someData,y4)

   out = f;
end

我期望的行为是在最终图中有两件事,在顶部有四个项目的子图,在下面有一个图。任何建议都很好。

编辑-可接受答案的问题是,它将需要大量子图(在我的情况下为12x12)。经过一番思考和工作,我发现可以将子图的内容封装到uipanel中。这给出了子图的期望行为,该子图可以在较大比例图中作为一个单元来对待。实现此目的的代码如下所示:

plotThing(someData, [0, 0.5, 1, 0.5]);
panel2 = uipanel('Position', [0, 0, 1, 0.5]);
subplot(1,1,1,'Parent', panel2); %Strange but necessary as one cannot set the parent of a plot directly
plot(cos(someData));

function [ out ] = plotThing( someData, position )
    panel = uipanel('Position', position); 

    y1 = sin(someData);
    y2 = sin(2*someData);
    y3 = sin(4*someData);
    y4 = sin(8*someData);

    subplot(2,2,1, 'Parent', panel)
    plot(someData,y1)
    subplot(2,2,2, 'Parent', panel)
    plot(someData,y2)
    subplot(2,2,3, 'Parent', panel)
    plot(someData,y3)
    subplot(2,2,4, 'Parent', panel)
    plot(someData,y4)
end

这种广义解样子的结果:结果

自主性

通过告诉MATLAB子图的范围,您应该能够做到这一点,如下所示。

subplot(4,2,1);  % create a plot with subplots in a grid of 4 x 2
plot(someData,y1); % subplot at first row, first column
subplot(4,2,2);
plot(someData,y2); % subplot at first row, second column
subplot(4,2,3);
plot(someData,y3);
subplot(4,2,4);
plot(someData,y4);
subplot(4,2,[5 6 7 8]); % subplot spanning the entire third and fourth row
plot(someData,y5);      % change [5, 6, 7, 8] to change the span

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将轴限制从一个子图(“相等”方面)复制到另一个子图中

来自分类Dev

当一个子图为plt而另一个子图为sns时,我可以绘制多图吗?

来自分类Dev

从另一个子执行子

来自分类Dev

VBA EXCEL:如何在另一个子例程中调用一个子例程?

来自分类Dev

matplotlib,在另一个子图的顶部放置一个透明的子图

来自分类Dev

基于另一个子帧

来自分类Dev

从另一个子域访问Cookie

来自分类Dev

另一个子查询问题

来自分类Dev

将两个结果在一个子传递到另一个子

来自分类Dev

如何在MATLAB中为4个子图创建一个通用图例?

来自分类Dev

如何在MATLAB中为4个子图创建一个通用图例?

来自分类Dev

如何从Sitecore中的另一个子布局访问子布局控件?

来自分类Dev

从另一个子窗体访问子窗体中的控件

来自分类Dev

Laravel 5.2:如何从另一个子视图中获取parentView的子视图中的变量?

来自分类Dev

尝试让一个子视图使用ui-router调用另一个子视图

来自分类Dev

单击另一个子菜单时如何关闭一个子菜单

来自分类Dev

将点击事件从一个子组件传递到另一个子组件

来自分类Dev

如何将一个子域重写为另一个子域?

来自分类Dev

如何从另一个子域发送一个子域的综合浏览量

来自分类Dev

如何知道另一个子组件中一个子组件的事件

来自分类Dev

在同一工作表VBA中调用另一个子

来自分类Dev

一个子div必须溢出,另一个不能

来自分类Dev

从另一个访问一个子域

来自分类Dev

如何基于另一个zip的内容创建一个子zip?

来自分类Dev

在添加另一个子视图之前等待一个 addSubview 成功

来自分类Dev

如何从访问中另一个子窗体中打勾的组合框中过滤一个子窗体?

来自分类Dev

如何使用原子查询更新猫鼬中另一个子文档中的一个子文档?

来自分类Dev

使用useReducer调度一个子组件中的操作并更新另一个子组件中的状态

来自分类Dev

如何使用原子查询更新猫鼬中另一个子文档中的一个子文档?

Related 相关文章

  1. 1

    将轴限制从一个子图(“相等”方面)复制到另一个子图中

  2. 2

    当一个子图为plt而另一个子图为sns时,我可以绘制多图吗?

  3. 3

    从另一个子执行子

  4. 4

    VBA EXCEL:如何在另一个子例程中调用一个子例程?

  5. 5

    matplotlib,在另一个子图的顶部放置一个透明的子图

  6. 6

    基于另一个子帧

  7. 7

    从另一个子域访问Cookie

  8. 8

    另一个子查询问题

  9. 9

    将两个结果在一个子传递到另一个子

  10. 10

    如何在MATLAB中为4个子图创建一个通用图例?

  11. 11

    如何在MATLAB中为4个子图创建一个通用图例?

  12. 12

    如何从Sitecore中的另一个子布局访问子布局控件?

  13. 13

    从另一个子窗体访问子窗体中的控件

  14. 14

    Laravel 5.2:如何从另一个子视图中获取parentView的子视图中的变量?

  15. 15

    尝试让一个子视图使用ui-router调用另一个子视图

  16. 16

    单击另一个子菜单时如何关闭一个子菜单

  17. 17

    将点击事件从一个子组件传递到另一个子组件

  18. 18

    如何将一个子域重写为另一个子域?

  19. 19

    如何从另一个子域发送一个子域的综合浏览量

  20. 20

    如何知道另一个子组件中一个子组件的事件

  21. 21

    在同一工作表VBA中调用另一个子

  22. 22

    一个子div必须溢出,另一个不能

  23. 23

    从另一个访问一个子域

  24. 24

    如何基于另一个zip的内容创建一个子zip?

  25. 25

    在添加另一个子视图之前等待一个 addSubview 成功

  26. 26

    如何从访问中另一个子窗体中打勾的组合框中过滤一个子窗体?

  27. 27

    如何使用原子查询更新猫鼬中另一个子文档中的一个子文档?

  28. 28

    使用useReducer调度一个子组件中的操作并更新另一个子组件中的状态

  29. 29

    如何使用原子查询更新猫鼬中另一个子文档中的一个子文档?

热门标签

归档