how to do plotting with different colors in same figure?
Ältere Kommentare anzeigen
My sample code is this:
x=[1:100];
for i=1:5
y(:,i)=i*log(x);
end
This plots 5 different curves of same color.
How to plot each curve with a different color ?
2 Kommentare
CPS
am 2 Mär. 2017
x=[1:100];
for i=1:5
y(:,i)=i*log(x);
end
plot(x,y)
This will generate an automatic graph.

Image Analyst
am 2 Mär. 2017
This is not a comment so you should put it with the rest of the "Answers" below (so you could get "reputation points" for it if someone "Votes" for it).
Akzeptierte Antwort
Weitere Antworten (7)
Kelly Kearney
am 6 Nov. 2013
Also, using colormaps and set with multiple handles + cell arrays can be helpful if you need a lot of colors.
x = 1:100;
ii = (1:20)';
y = ii*log(x);
h = plot(x,y);
set(h, {'color'}, num2cell(jet(length(ii)), 2));
3 Kommentare
Ved
am 10 Nov. 2013
Sergey Kasyanov
am 14 Jun. 2019
Thanks!
Saksham Gakhar
am 19 Apr. 2021
thank you!
Image Analyst
am 6 Nov. 2013
2 Stimmen
Simon showed you how to specify custom colors for each curve. If you want to know how to change the default color order, see my demo attached below.
1 Kommentar
Ved
am 10 Nov. 2013
Korosh Agha Mohammad Ghasemi
am 7 Dez. 2020
Bearbeitet: Korosh Agha Mohammad Ghasemi
am 7 Dez. 2020


%https://zil.ink/korosh -------- Ways to contact me ----------
% Korosh Agha Mohammad Ghasemi !
% Chemical Engineering at Shiraz University
x=linspace(0,2,100);
figure;
for a=[0.1 0.5 1 2 4]
y=x.^a; %The function is hypothetical
if a == 0.1 %Any color can be substituted
y=x.^a;
plot(x,y,'k') %Now choose the color
hold on
elseif a == 0.5
y=x.^a;
plot(x,y,'b') %Now choose the color
hold on
elseif a==1
y=x.^a;
plot(x,y,'g') %Now choose the color
hold on
elseif a==2
y=x.^a;
plot(x,y,'r') %Now choose the color
hold on
elseif a==4
y=x.^a;
plot(x,y,'y') %Now choose the color
hold on
grid on
end
end
PeopleMATLAB
am 13 Okt. 2016
colormap jet;
cmap=colormap;
for i=1:5
Plot_color=cmap(i/5,:);
plot(x, y(i,:), 'Color', Plot_color);
hold on;
end
hold off;
farhat khan
am 19 Jul. 2019
0 Stimmen
gys i have a question ..... how to detect the object with color based detection if the required object have more then one color e.g green and black ..........
1 Kommentar
Image Analyst
am 19 Jul. 2019
I don't beleive you can plot a single set of data with two colors and one call to plot (plotyy notwithstanding). You have to keep track of the handle of the things you plotted:
hGreen = plot(x1, y1, 'g-'); % Plot a green line.
hBlack = plot(x2, y2, 'k-'); % Plot a black line.
I'm not sure how you'd detect what the color was if you didn't save the handle to the colored line you plotted, but maybe there is a way by using findobj() and seeing if you can get the color of any line object as a property. It's certainly not as straightforward so I recommend you just save the handles to the colors of the lines you drew, if you plan to detect them later.
SYAHIRAH ZAKI
am 7 Dez. 2020
hi does anoyne know how to get different plot colors for each of my graph?
if i change the 'r' to 'g', i only get one color for each of my graph. I need each of my plot in different colour. please help me :(

% Script file graph2.
% Several plots of the rational function y = x/(1+x^2)
% in the same window.
k = 0;
for n=1:3:10
n10 = 10*n;
x = linspace(-2,2,n10);
y = x./(1+x.^2);
k = k+1;
subplot(2,2,k)
plot(x,y,'r')
title(sprintf('Graph %g. Plot based upon n = %g points.' ...
, k, n10))
xlabel('x')
ylabel('y')
axis([-2,2,-.8,.8])
grid
pause(3);
end
Da Bu
am 22 Apr. 2021
for a small set of colors, you can use ColorOrderIndex
t=1:0.1:2*pi;
for i=1:5
plot(t,sin(t)*i), hold on
ax = gca;
ax.ColorOrderIndex = i;
end
Kategorien
Mehr zu Creating, Deleting, and Querying Graphics Objects finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!