how can i plot the line in different colours

1 次查看(过去 30 天)
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 个评论
Hannes Arnar
Hannes Arnar 2015-9-14
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:' )

请先登录,再进行评论。

采纳的回答

Adam
Adam 2015-9-14
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' )

更多回答(1 个)

Image Analyst
Image Analyst 2015-9-14
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);

类别

Help CenterFile Exchange 中查找有关 Line Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by