multiple colours in a trajectory plot

I have a time series X, which I can plot in x-y plane.
plot(X(:,1), X(:,2), 'r.')
This gives a red dot colour. What I want to do is I want to make this graph such that the colour represents the colour of the rainbow. (Red at the start, violet in the end) This is so we can give a time sense of the trajectory.
How do we do this?

 Respuesta aceptada

Star Strider
Star Strider el 10 de Abr. de 2018
Editada: Star Strider el 11 de Abr. de 2018
Try this:
X = [(0:50)' sin((0:50)*pi/10)']; % Create ‘X’
cm = colormap(jet); % Approximates Spectrum
X(end,2) = NaN; % Set Last Value To ‘NaN’ To Create Line
c = flipud(X(:,1)); % Define Colours To Scale With ‘X(:,1)’
figure
patch(X(:,1), X(:,2), c, 'EdgeColor','interp')
EDIT Added plot image.

6 comentarios

CLARK KENDRICK GO
CLARK KENDRICK GO el 12 de Abr. de 2018
Thanks for this. Now, I want to ask if there is a way to change from 'line' to 'dots'.
As in likes of plot(X(:,1),X(:,2),'r.') <-- red dots
You can
pointsize = 15;
scatter(X(:,1), X(:,2), pointsize, (1:size(X,1)).', '.');
colormap(jet)
Star Strider
Star Strider el 12 de Abr. de 2018
@Walter — Thanks
Niklas Kurz
Niklas Kurz el 17 de En. de 2021
Again just coming in clutch!
Niklas Kurz
Niklas Kurz el 17 de En. de 2021
Would also be worth knowing how to apply the color map upside down, with other words going up the y-axis
%flip the current colormap
colormap(flipud(colormap))
or for fixed colormap
colormap(flipud(jet))

Iniciar sesión para comentar.

Más respuestas (1)

Walter Roberson
Walter Roberson el 10 de Abr. de 2018

0 votos

It is not possible to have multiple colors on a line create by a single call to plot() or the underlying function line() .
You can look in the File Exchange for a couple of contributions for drawing colored lines. One of them uses surface objects, and one of them uses patch objects.

Etiquetas

Preguntada:

el 10 de Abr. de 2018

Comentada:

el 17 de En. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by