I have three vectors: x, y and z. Each (x(i), y(i)) coordinate corresponds to one z(i). I want to plot a 2D plot with x, y as axes and z denotes the colors. What should I do? Thanks a lot.

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 28 Mär. 2012

6 Stimmen

pointsize = 10;
scatter(x, y, pointsize, z)

2 Kommentare

Zhiting
Zhiting am 28 Mär. 2012
Thanks a lot, Walter. This is what I want!
Riley Weatherholt
Riley Weatherholt am 23 Feb. 2021
Thank you!! You just saved me a bunch of time.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (3)

Richard
Richard am 28 Mär. 2012

1 Stimme

you could use pcolor(x,y,z). If you need further instruction let me know.

2 Kommentare

Zhiting
Zhiting am 28 Mär. 2012
I have checked that before. z must be matrix in order to use pcolor. But I have three vectors. It doesn't work.
Walter Roberson
Walter Roberson am 28 Mär. 2012
image() would be better than pcolor().
pcolor() and image() would assume that you have a full matrix of data, but the user only has vectors -- scattered points.

Melden Sie sich an, um zu kommentieren.

Thomas
Thomas am 28 Mär. 2012

0 Stimmen

Just adding if you need a 3d graph:
dotsize=25
scatter3(x(:), y(:), z(:), dotsize, z(:), 'filled')
SSth
SSth am 26 Okt. 2017

0 Stimmen

How can I change color pattern.

Community Treasure Hunt

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

Start Hunting!

Translated by