help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: different colours for different curves in the same plot


From: William Krekeler
Subject: RE: different colours for different curves in the same plot
Date: Tue, 31 May 2011 17:02:08 +0000

-----Original Message-----
From: address@hidden [mailto:address@hidden On Behalf Of Federica
Sent: Tuesday, May 31, 2011 11:45 AM
To: address@hidden
Subject: RE: different colours for different curves in the same plot

Thank you William!!! 

So if I understand well, I need to define the color property for each line.

I followed your suggestion but I had no results.... an empty plot and all
the m values displayed.

The command 

for m=1:length(ydata_sets) 

refers to the range of values for m, is it right? 

m values are between 0 and 1 so it becomes:

% start pseudo-code
plotColors = colormap;
figure
for m = 1:length(1)
   plotColorsI = round( size( plotColors, 1)* m / length(1) );
   hold on   
   plot(t,m);
   H1 = plot(t, m)
   hold off
   set( H1,'Color', plotColors( plotColorsI,:) );
end
% end pseudo-code

And the result is an empty plot!!! What I did wrong??

maybe I need to define the number of lines? 

Thank you again,

Federica



--
View this message in context: 
http://octave.1599824.n4.nabble.com/different-colours-for-different-curves-in-the-same-plot-tp3563544p3563643.html
Sent from the Octave - General mailing list archive at Nabble.com.
_______________________________________________
Help-octave mailing list
address@hidden
https://mailman.cae.wisc.edu/listinfo/help-octave

Federica,

Sorry, I grabbed the wrong variable when I was cutting and pasting. In your 
code m is a non-integer value. In my psuedo-code m is meant to be an integer 
value. You can replace the variables in my code with any variable name to 
reduce confusion. Quick description for what I meant: If the y data is M sets 
of N values then m will step from 1 to M, and all N values associated with the 
mth set will be colored by the appropriate color. plotColorsI is just grabbing 
the integer index into the colormap that is defined by the ratio of mth set 
over total number of sets. If M is large with respect to the colormap size this 
will result in overlapping color designations.

Based upon the fact that you replaced the length of the y data columns value 
with length(1) in both places I think I may have misunderstood what you 
actually wanted to do.

What does size(m) return in your code before you rewrote my pseudo-code?

I rewrote the pseudo code to explicitly explain what I meant.

% start pseudo-code (that should run) rewritten to explain what I meant
xdata = 1:10;
ydata_sets = rand(4,10);        % arbitrary definition
numberDataSets = size( ydata_sets,1 );  % used size instead to be explicit
m = ydata_sets(1,:);    % this assumes that m is 1 vector from the parent set 
of vectors which is what I originally expected based upon your description
plotColors = colormap;
figure;
for nIndex = 1: numberDataSets
   plotColorsI = round( size( plotColors, 1)* nIndex / numberDataSets );
   hold on   
   H1 = plot( xdata, ydata_sets(nIndex,:) );
   hold off
   set( H1,'Color', plotColors( plotColorsI,:) );
end

% end pseudo-code




reply via email to

[Prev in Thread] Current Thread [Next in Thread]