how can i plot the line in different colours

3 Ansichten (letzte 30 Tage)
Hannes Arnar
Hannes Arnar am 14 Sep. 2015
Beantwortet: Image Analyst am 14 Sep. 2015
close all; clear all; clc;
x = -5:0.01:5;
y = zeros(1,length(x));
for i = 1:length(x)
if(x(i) < -1)
y(i) = x(i) + 2;
hold on
elseif(x(i) <= 2 )
y(i) = x(i)^2;
hold on
elseif(x(i) > 2)
y(i) = -2*x(i) + 8;
hold on
end
end
plot(x,y)
  1 Kommentar
Hannes Arnar
Hannes Arnar am 14 Sep. 2015
How can i make the line bigger ?
close all; clear all; clc;
x = -5:0.01:5; y = zeros(1,length(x));
cond1 = x < -1; cond2 = x >= -1 & x <= 2; cond3 = x > 2; y( cond1 ) = x( cond1 ) + 2; y( cond2 ) = x( cond2 ).^2; y( cond3 ) = -2 * x( cond3 ) + 8; figure; plot( x( cond1 ), y( cond1 ), 'r:' ) hold on plot( x( cond2 ), y( cond2 ), 'b:' ) plot( x( cond3 ), y( cond3 ), 'g:' )

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Adam
Adam am 14 Sep. 2015
Just plot three different lines and give them each a colour rather than plotting them in a single instruction. You can also put the numbers into the vector without requiring a for loop too e.g.
cond1 = x < -1;
cond2 = x >= -1 & x <= 2;
cond3 = x > 2;
y( cond1 ) = x( cond1 ) + 2;
y( cond2 ) = x( cond2 ).^2;
y( cond3 ) = -2 * x( cond3 ) + 8;
figure;
plot( x( cond1 ), y( cond1 ), 'r' )
hold on
plot( x( cond2 ), y( cond2 ), 'g' )
plot( x( cond3 ), y( cond3 ), 'b' )

Weitere Antworten (1)

Image Analyst
Image Analyst am 14 Sep. 2015
Regarding your question about line width in your comment above, to make the line bigger (thicker), change the 'LineWidth' option:
plot(x(cond3), y(cond3), 'g:', 'LineWidth', 3);

Kategorien

Mehr zu Line Plots finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by