Adding a horizontal line to a plot

12 Ansichten (letzte 30 Tage)
Simone
Simone am 6 Dez. 2014
Kommentiert: Star Strider am 6 Dez. 2014
How do you use the line function to add a horizontal line to a plot?
For example,
To add a horizontal line to easily point out the maximum value.
I am trying to use it in a nested for loop. This is my code so far:
y =[99;1;0];
beta = [0.005, 0.05, 0.1];
nu = [0.05, 0.075, 0.1];
options=odeset();
for i = 1:length(beta)
for index = 1:length(nu)
[T,Y] = ode45(@sir_ode,[0 30], y,options,beta(i),nu(index));
figure
plot(T,Y)
xlabel('Time(days)')
ylabel('Population(%)')
legend('susceptible','infected','recovered')
title_name =sprintf('Beta = %.3f Nu = %.3f', beta(i), nu(index));
title(title_name)
% finds max infected values
infected_values = Y(:,2);
max_infected(i,index) = max(infected_values);
% find max time
index_number(i,index)=find(infected_values ==max(infected_values));
max_T(i,index) = T(index_number(i,index));
line([max_T(i),max_T(i)], ...
[0,max_infected(i)],'Color', [0 1 0])
end
end
Thank you.

Akzeptierte Antwort

Star Strider
Star Strider am 6 Dez. 2014
I couldn’t run your code. You can do something like this to plot a horizontal line at the maximum:
x = linspace(0,pi);
y = sin(x);
ymax = max(y);
figure(1)
plot(x, y, '-b')
hold on
plot(xlim, [1 1]*ymax, '-r')
hold off
axis([xlim 0 1.1])
  2 Kommentare
Simone
Simone am 6 Dez. 2014
Thank you for your help!
Star Strider
Star Strider am 6 Dez. 2014
My pleasure!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Image Analyst
Image Analyst am 6 Dez. 2014
Your line is a vertical line because both the x values are the same. To get a horizontal line, from the x=0 (y) axis to the peak, you could do
[maxY, indexAtMaxY] = max(infected_values);
x1 = 0;
x2 = T(indexAtMaxY);
line([x1, x2], [maxY, maxY], 'Color', 'g', 'LineWidth', 2);
  1 Kommentar
Image Analyst
Image Analyst am 6 Dez. 2014
Needless to say, all that code about "index_number" is unnecessary so get rid of it.

Melden Sie sich an, um zu kommentieren.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by