How do I plot a sine function with each point having a z variable

1 vue (au cours des 30 derniers jours)
Vahid Askarpour
Vahid Askarpour le 12 Nov 2016
Modifié(e) : dpb le 13 Nov 2016
I would like to plot say a sine function for which I have created two arrays, x and y, where y=sine(x). Now each point (x,y) has an associated z variable defined in a third array z. I would like to plot y with a heat map such that various points on the sine function have different colors based on the z value and the rest of the plot is not colored. An example of such a plot is attached.
I tried imagsc(x,y,z) but that did not work. Any hints would be appreciated.
Vahid
  1 commentaire
dpb
dpb le 13 Nov 2016
Modifié(e) : dpb le 13 Nov 2016
In Matlab HG, lines are a single object and have only a single color. To draw varied-colored "lines" simulating the above plot would entail building an image similar as your initial trial or with HG using scatter with solid markers in close proximity to simulate a line or very short individual line segments with a color map with each (essentially using plot|line as a scatter substitute).
Would make a reasonable (and useful) enhancement request...

Connectez-vous pour commenter.

Réponse acceptée

dpb
dpb le 12 Nov 2016
Modifié(e) : dpb le 13 Nov 2016
scatter(x,y,5,z)
hold on
plot(x,y,'k-')
latter two lines if want the line between points; otherwise forget it...
ADDENDUM Actually, the scatter solution works reasonably well...
>> N=1000;
>> x=linspace(0,2*pi,N);
>> y=sin(x);
>> z=linspace(-1,1,length(x));
>> scatter(x,y,15,z,'o','filled')
>>
results in:
You can 'spearmint w/ how few points can get away with and whether the number of scatter object handles becomes excessive for a plot as complex as that you show.

Plus de réponses (0)

Catégories

En savoir plus sur Color and Styling 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!

Translated by