Draw a line from one point to ALL points
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
So ive plotted a set of x and y arrays. Then i plotted a mean.
How do i draw lines only from this mean to all other points?
1 commentaire
Réponse acceptée
Image Analyst
le 19 Mai 2013
Try this demo:
% Generate sample data
thePoints = 3*rand(20,2);
% Find the mean.
referencePoint = mean(thePoints, 1)
xMean = referencePoint(1);
yMean = referencePoint(2);
% Plot the points.
scatter(thePoints(:, 1), thePoints(:, 2), 'LineWidth', 3);
hold on;
plot(referencePoint(1), referencePoint(2),...
'ro', 'MarkerSize', 15, 'LineWidth', 3);
% Enlarge figure to full screen.
set(gcf, 'units','normalized','outerposition',[0 0 1 1]);
grid on;
% Plot lines from the mean to all the other points.
for k = 1 : size(thePoints, 1)
x = thePoints(k, 1);
y = thePoints(k, 2);
line([x, xMean], [y, yMean], 'Color', 'k');
end
![](https://www.mathworks.com/matlabcentral/images/broken_image.png)
2 commentaires
Image Analyst
le 19 Mai 2013
A for loop is fine, especially for some small amount of iterations. And if the number of points was huge, you wouldn't be doing this in the first place since all the lines would overlap and blend together making a big mess.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur 2-D and 3-D 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!