Create and plot random points with connected lines

4 vues (au cours des 30 derniers jours)
Ismaeel
Ismaeel le 3 Jan 2017
Commenté : Ismaeel le 4 Jan 2017
I wondered if there is a way to plot random points I know the total number of them, and then plot the lines that connect them. The connectivity matrix (A) is known and it has a size of nXn, where n is the total number of points and all elements of A are either 0 (no connection) or 1 (connected). If possible, I want to limit the dimension of graph by (1 X sqr(2)) unit of plot. Thanks in advance

Réponse acceptée

Roger Stafford
Roger Stafford le 3 Jan 2017
Modifié(e) : Roger Stafford le 3 Jan 2017
Assume that A is symmetric with zeros on the diagonal (bidirectional connections) and that there are n points.
x = rand(n,1);
y = sqrt(2)*rand(n,1);
plot(x,y,yo)
hold on
for i1 = 1:n-1
for i2 = i1+1:n
if A(i1,i2) ~= 0
plot([x(i1),x(i2)],[y(i1),y(i2)],y-)
end
end
end
hold off
axis equal
  1 commentaire
Ismaeel
Ismaeel le 3 Jan 2017
Thank you so much Roger; easy code and elegant and works as I want. Appreciate it...

Connectez-vous pour commenter.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 3 Jan 2017
When you have a connectivity matrix, you can create a graph() and plot() it; https://www.mathworks.com/help/matlab/ref/graph.plot.html

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!

Translated by