【问题标题】:How to break the axis in matlab如何在matlab中打破轴
【发布时间】:2015-05-02 11:59:35
【问题描述】:

如何打破同一图中的x 轴(不是子图函数)?

您可以在下图中的面板 b 的折线图中看到一个示例,一个单行数据已被拆分为三个部分以及x 轴。 问题是如何在matlab中实现这个情节。

(如本图中的面板b

【问题讨论】:

  • 目前还不清楚你在追求什么。什么“红箭”?您是否只是在问如何使轴上出现间隙,如图像中的图 e 所示?
  • 是的,类似的(我没有注意到我已经改变了发布的图片......)
  • @rayryeng 默认情况下,该 gif 应该是 SO cmets 的一部分。
  • Xin,请重新表述你的问题。看起来你这里有一个有趣的问题,但是现在很难理解你想要什么。
  • @AnderBiguri - 哈哈,谢谢。有人不同意并将其从 cmets 中删除...但这是为了您的利益:img.pandawhale.com/…

标签: matlab


【解决方案1】:

我在这里给你一个例子,使用surf

诀窍是将nans 插入任何您希望行显示为“空”的位置

z=peaks(100);

% If you want to delete a certain amount of rows/cols
z2=z;
z2(:,10:15)=NaN;
z2(:,50:55)=NaN;
z2(:,75:80)=NaN;

% If you want to separate you data without deleting anything

z3=z;

z3=[z3(:,1:15) nan(size(z3,1),5) z3(:,16:75) nan(size(z3,1),5) z3(:,75:100) ];


% This last bit is only for plotting, so you can try it in your computer 
subplot(131)
title('Original')
surf(z,'edgecolor','interp')
axis off
view(2)
axis equal
subplot(132)
title('Deleted columns')
surf(z2,'edgecolor','interp')
axis off
view(2)
axis equal
subplot(133)
title('Separatedd data')
surf(z3,'edgecolor','interp')
axis off
view(2)

axis equal

【讨论】:

  • 感谢您的耐心和解答,但似乎不是我想要的~
  • 面板b中的灰线是后期添加的,不是段空间~
  • @XIN 我没有添加任何灰线,因为你没有要求灰线......你能澄清你想要什么吗?
  • @XIN 如果你在你的电脑上尝试这个,你可能会看到灰色的线条,但这只是情节的背景颜色。没有灰线
  • @XIN 如果snwer有用,请考虑接受。否则,如果您给我更多信息,我可以尝试改进它
【解决方案2】:

File Exchange 上有几个实用程序可让您执行此操作:

【讨论】:

  • 谢谢,后一个看起来就像我所期望的那样,你知道有什么方法可以像他们在图中所做的那样完全拆分它吗?就像面板 B 中的线图一样~
  • 不,但代码可以让您自定义和适应您的需求。
猜你喜欢
  • 2015-06-27
  • 2022-12-30
  • 1970-01-01
  • 2019-09-18
  • 2018-02-03
  • 2011-05-30
  • 1970-01-01
  • 1970-01-01
  • 2020-05-17
相关资源
最近更新 更多