How do I create a scatter plot of every value combination of three vectors?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Luke Mason
le 6 Avr 2018
Réponse apportée : Luke Mason
le 12 Avr 2018
I have three vectors each corresponding to a position of a seat in a theater. x = [0:60], y = [0:60] and z = [y.*5]. So I have an x vector, a y vector, and a z vector. I need to be able to plot every combination of the vectors because when I use scatter3(x,y,z) it plots x(n), y(n) and z(n), creating a diagonal line of seats. So I also need it to plot x(n), y(n+1), z(n+1).
0 commentaires
Réponse acceptée
Walter Roberson
le 9 Avr 2018
[X, Y, Z] = ndgrid(x, y, z);
scatter3( X(:), Y(:), Z(:));
3 commentaires
Walter Roberson
le 12 Avr 2018
Try the below and suggest how you want it changed.
x = 0:90;
y = -7:7;
z = 30*tand(12.5);
M = z.*y;
amountToAdd = size(x);
L = repmat(M, amountToAdd(2), 1);
for i = 1:length(x)
for j = 1:length(y)
d(i,j) = sqrt((x(i)).^2+(y(j)).^2+(z*y(j))^2);
end
end
dB = 10.*log10(1./d.^2)+100;
[X, Y] = ndgrid(x, y);
scatter3(Y(:),X(:),L(:),10,dB(:));
Plus de réponses (2)
Sumeet Gadagkar
le 9 Avr 2018
Hey Luke,
Have you considered looping through the values of your matrix and plotting for each of the values?
It would go something like this -
% x = 0:4;
y = 0:4;
z = y*5;
q = ones(5,1);
q = q';
for i = 1:length(z)
for j = 1:length(y)
scatter3(x,y(j)*q,z(i)*q)
hold on
end
end
end
Hope this helps!
Voir également
Catégories
En savoir plus sur Scatter Plots 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!