Plot matrix as scatter points with colorbar
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
Star Strider
il 3 Ott 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 Commenti
Star Strider
il 3 Ott 2018
As always, my pleasure.
Thank you.
Using the reshape function also would work. The (:) notation is easier and more efficient.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Colormaps in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!