Add xline equivalent to stackedplot?
조회 수: 39 (최근 30일)
이전 댓글 표시
Hi there,
I recently started using stackedplot instead of subplot, but I'm not sure how to add a line from 0 to my Y-axis-limit while using the stackedplot funciton.
While using subplot in the past, I have been able to use xline(0) or vline(0) to represent a stimulus onset time when comparing evoked responses across a certain timecourse. I.e.
%%%%% Using xline in subplots
close all
time = -150:1:349; %This is time in ms relative to stimulus onset at time 0
maxYval = max(max(PlotThis));
figure
for i = 1:3
subplot(3,1,i)
plot(time,PlotThis(:,i));
hold on
xline(0)
ylim([0 maxYval])
end
I would like to use stackedplots instead of subplot because it is much easier to edit and manage when I have several plots with the same x-axis. The one drawback is that stackedplots does not allow the "hold on" feature so xline(0) or vline(0) does not work. I can insert a line in-post on the matlab figure editor, but is there a way to do this programitically?
i.e.
%%% using stackedplot
figure
s = stackedplot(time,PlotThis);
s.AxesProperties(1).YLimits = [0 maxYVal];
s.AxesProperties(2).YLimits = [0 maxYVal];
s.AxesProperties(3).YLimits = [0 maxYVal];
and inserting a line on the matlab figure editor yields:
Thank you!
댓글 수: 0
채택된 답변
Adam Danz
2020년 11월 19일
편집: Adam Danz
2023년 11월 20일
You can get the axis handles in stackedplot using the undocumented NodeChildren property. Then use xline to add vertical reference lines.
rng('default')
h = stackedplot(-10:10,rand(21,4));
ax = findobj(h.NodeChildren, 'Type','Axes');
arrayfun(@(h)xline(h,0,'LineWidth',1.5),ax)
% Starting R2021a, xline and yline can accept an array of handles
% xline(ax,0,'LineWidth',1.5)
댓글 수: 7
Oscar
2022년 8월 9일
Great answer. Unfortunately, this method doesn't seem to work when the figure is embedded in a Live Script.
추가 답변 (1개)
Payas Bahade
2020년 2월 14일
Hi Brock,
Currently there is no xline equivalent in stacked plots. I have informed the concerned teams and they would be looking into this issue.
댓글 수: 2
Nicolas
2023년 9월 5일
Hello Payas,
Any update on this? Stacked plots are really neat to quickly draw stuff, adding the ability to add annotations such as vline would be a real plus!
참고 항목
카테고리
Help Center 및 File Exchange에서 Line Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!