필터 지우기
필터 지우기

Draw vertical lines on a plot

조회 수: 5 (최근 30일)
Curious Mind
Curious Mind 2019년 12월 3일
댓글: Luna 2019년 12월 4일
Hi,
I have a plot and I want to draw several vertical lines (about 40 of them) at specific locations on the plot. How do I go about it? Any code that I can put all those locations in and automatically mark those regions of the plot with vertical lines for me? Thanks!

채택된 답변

Luna
Luna 2019년 12월 3일
편집: Luna 2019년 12월 3일
There is a built-in function for that.
For vertical lines use xline and for horizonal lines use yline.
Here is sample code:
regions_to_be_marked = randn(40,1); % array of the points you want to plot vertical line (x axis values)
x_data = randn(100,1); % x data to plot
y_data = randn(100,1); % y data to plot
hFig = figure; % figure handle
hAxes = axes(hFig); % axis handle
hPlot = plot(hAxes,x_data,y_data,'LineStyle','none','Marker','*'); % your actual plot
hold on; % holds current plot
% plot each region in for loop
for i = 1:numel(regions_to_be_marked)
xline(hAxes, regions_to_be_marked(i),'LineWidth',2,'Color','red');
end
  댓글 수: 2
Curious Mind
Curious Mind 2019년 12월 3일
Thank you!
Luna
Luna 2019년 12월 4일
Your welcome :)

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

the cyclist
the cyclist 2019년 12월 3일
If you have R2018b or later, you can use the xline command.
If you have an earlier version, you can use the line command (which is just a bit more working in defining the endpoints).
  댓글 수: 2
Curious Mind
Curious Mind 2019년 12월 3일
Thank you for the information. I have seen the xline function but if I have say 40 regions I want to mark, I will have to do it for each one of them. Is there a way to enter all 40 regions and get those regions marked at the same time?
Luna
Luna 2019년 12월 3일
Check my answer above, I made a sample plot for your case.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 2-D and 3-D Plots에 대해 자세히 알아보기

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by