multiple colours in a trajectory plot
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
CLARK KENDRICK GO
le 10 Avr 2018
Commenté : Walter Roberson
le 17 Jan 2021
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?
0 commentaires
Réponse acceptée
Star Strider
le 10 Avr 2018
Modifié(e) : Star Strider
le 11 Avr 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 commentaires
Niklas Kurz
le 17 Jan 2021
Would also be worth knowing how to apply the color map upside down, with other words going up the y-axis
Walter Roberson
le 17 Jan 2021
%flip the current colormap
colormap(flipud(colormap))
or for fixed colormap
colormap(flipud(jet))
Plus de réponses (1)
Walter Roberson
le 10 Avr 2018
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.
0 commentaires
Voir également
Catégories
En savoir plus sur Blue dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!