Plot matrix as scatter points with colorbar
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Shan Chu
el 3 de Oct. de 2018
Comentada: Star Strider
el 3 de Oct. de 2018
Dear all
I have a vector 1-by-N x, a vector 1-by-M y, and a matrix N-by-M z (complex).
So how could I plot the matrix Z as scatter points corresponding to x and y, where the colorbar represents the abs(z). I have tried scatter3 but it only works when z is a vector, not a matrix. Thanks
0 comentarios
Respuesta aceptada
Star Strider
el 3 de Oct. de 2018
One approach is to use meshgrid to create matrices out of ‘x’ and ‘y’, then plot all of them as vectors, using the (:) subscript notation to force them all to become column vectors:
N = 5;
M = 8;
x = 1:N;
y = 1:M;
[X,Y] = meshgrid(x,y);
z = randn(N,M) + 1j*randn(N,M);
figure
scatter3(X(:), Y(:), abs(z(:)), 25, abs(z(:)), 'filled', 'Marker','p')
colormap(jet(numel(z)))
colorbar
Experiment to get the result you want.
2 comentarios
Star Strider
el 3 de Oct. de 2018
As always, my pleasure.
Thank you.
Using the reshape function also would work. The (:) notation is easier and more efficient.
Más respuestas (0)
Ver también
Categorías
Más información sobre Colormaps en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!