How do I make line stacked graph like this?

조회 수: 2 (최근 30일)
HyoJae Lee
HyoJae Lee 2022년 12월 30일
편집: Karim 2023년 1월 1일
Hello,
I have a question regrading this graph.
I just made this graph in the EXCEL that x axis is angle(0 to 90 degree) and time(sec).
However, it is very time-cusming process, because, I have to assign single time into a single series like in the graph.
So, I want to make like this graph in the MATLAB.
It's actually stacking x=const lines in time.
When I put starting angle and ending angle in all time, I want to plot line stacked graph like in the above.
How do I make it?
Thanks,
Hyojae.

채택된 답변

Karim
Karim 2022년 12월 30일
편집: Karim 2023년 1월 1일
Hi, its much easier if you would provide the numerical data as numerical data and not a screenshot ;)
Anyhow, yes such a plot can be made quite simple in matlab. First let's type over your data
data = [ 80 20;
80 30;
100 10;
100 30;
120 20;
120 40;
140 30;
140 50;
160 40;
160 70];
One way to achieve this is by using a for loop. Note that it is also possible with a single call to the plot command by introducing nan in between the line's:
figure
hold on
for i = 1:2:size(data,1)
plot(data(i:i+1,2),data(i:i+1,1),'-o','LineWidth',1.5)
end
xlim([0 80])
ylim([0 180])
hold off
grid on
  댓글 수: 1
HyoJae Lee
HyoJae Lee 2023년 1월 1일
Highly appreciated, Karim.
It helps me a lot!

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

추가 답변 (1개)

Voss
Voss 2023년 1월 1일
편집: Voss 2023년 1월 1일
Here's how you can do it with one plot call creating multiple lines:
data = [ ...
80 20;
80 30;
100 10;
100 30;
120 20;
120 40;
140 30;
140 50;
160 40;
160 70];
x = reshape(data(:,2),2,[]);
y = reshape(data(:,1),2,[]);
plot(x,y,'-o')
xlim([0 80])
ylim([0 180])
grid on

카테고리

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