Connecting dots with straight line in a loop.
7 ビュー (過去 30 日間)
古いコメントを表示
Hi all,
I have a question regarding connecting the dots.
Suppose I have the following sample data points:
![example.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/243657/example.png)
I have a while-loop that identifies the first, second, and fourth points in the figure.
I know their index numbers and their (x,y) values.
Pictorially, I would like to connect with a straight line, the aforementioned points.
What is the best way of doing this?
My gut feeling is to input the "draw" code within the while-loop I have so each time I obtain the index of the next point I want to connect, I simply connect to that pictorially. But how to go about this?
Thanks in advance!
0 件のコメント
採用された回答
Image Analyst
2019 年 10 月 20 日
It seems that no one is exactly sure what you want to do, since the super obvious plot(x,y,'b-') doesn't seem to be it.
So I'll throw out a couple of guesses.
To close the figure (if that's what you want) you can tack the first point onto the array:
xp = [x, x(1)];
yp = [y, y(1)];
plot(xp, yp, 'b.-', 'LineWidth', 2, 'MarkerSize', 18);
grid on;
To make a bunch of points in between, you'd have to use polyfit and polyval() for each segment. Here it is for one segment with endpoints (x1, y1) and (x2, y2):
numNewPoints = 100; % Whatever you want.
newx = linspace(x1, x2, numNewPoints);
y = linspace(y1, y2, numNewPoints);
coefficients = polyfit([x1,x2], [y1, y2], 1);
newY = polyval(coefficients, newx);
0 件のコメント
その他の回答 (2 件)
参考
カテゴリ
Help Center および File Exchange で Graphics Performance についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!