![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/286012/image.png)
Is it possible to draw a line across all plots in a stackedplot?
조회 수: 12 (최근 30일)
이전 댓글 표시
figure;
chans = 10;
for subplotN=1:chans-1 %plot first set of time-series
x = 1:2841;
y(:,subplotN) = randn(2841,1)*50;
end
y(:,subplotN+1) = randn(1,2841)*1e6;
stackedplot(x,y)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/286002/image.png)
Is it possible to draw vertical lines across all stackedplots like in the figure below?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/286003/image.png)
댓글 수: 0
채택된 답변
Ameer Hamza
2020년 4월 20일
편집: Ameer Hamza
2020년 4월 20일
I am not sure if there is any direct option, but you can use annotation() to draw a line on the figure window such that it appears on the axes at correct locations. Following code shows an example
figure;
chans = 10;
for subplotN=1:chans-1 %plot first set of time-series
x = 1:2841;
y(:,subplotN) = randn(2841,1)*50;
end
y(:,subplotN+1) = randn(1,2841)*1e6;
s = stackedplot(x,y);
pos = s.Position;
xlims = s.xlim;
line_locations = [500 1000 1500 2000 2500];
line_locations_norm = interp1(xlims, cumsum(pos([1 3])), line_locations);
for i=1:numel(line_locations_norm)
annotation('line', ...
[line_locations_norm(i) line_locations_norm(i)], ...
[pos(2) pos(2)+pos(4)], ...
'Color', 'r', ...
'LineWidth', 1);
end
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/286012/image.png)
댓글 수: 4
추가 답변 (0개)
참고 항목
카테고리
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!