【问题标题】:Plotting three charts in one figure在一张图中绘制三个图表
【发布时间】:2012-05-17 19:57:29
【问题描述】:

如何绘制这样的图形:

我的问题不是关于“子图”功能。我有一个用于 x 轴的“x”数组和三个用于 y 轴的“y”数组。我想在上面的图中绘制所有 (x,y) 图表。

【问题讨论】:

  • 我能问一下吗?...为什么不能使用 subplot?
  • 您必须为每个图适当地偏移 y 值,然后手动干扰 y-axis tick marks and labels 并设置它们的值。
  • @kitchenette 因为我认为 subplot 无法完成这项工作。如您所见,所有图表都在一个框中;不是一个图中的三个盒子。

标签: matlab


【解决方案1】:

您可以使用subaxis。我在下面写了一个示例代码:

x = 0:0.1:10;
spacing = 0.0;
subaxis(3,1,1,'Spacing',spacing);
plot(x,rand(size(x)),'k')
legend('D','Location','NorthWest')
ylim([-0.2 1])
set(gca, 'box','off')
set(gca,'XAxisLocation','top')

subaxis(2,'Spacing',spacing);
plot(x,rand(size(x)),'r')
legend('C','Location','NorthWest')
ylim([-0.2 1])
set(gca,'xtick',[],'box','off','xcolor','w')

subaxis(3,'Spacing',spacing);
plot(x,rand(size(x)),'b')
legend('B','Location','NorthWest')
set(gca, 'box','off')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-14
    • 2018-08-03
    • 2019-04-19
    • 1970-01-01
    相关资源
    最近更新 更多