Plotting ellipses around the data points and circle around the cluster points

24 ビュー (過去 30 日間)
NA
NA 2021 年 11 月 30 日
コメント済み: NA 2021 年 12 月 1 日
I have these points xy
xy = [10 -10; 1 0; -1 0; 0 -1; 0 1 ;11 -10; -1 -1];
scatter(xy(:,1),xy(:,2))
grid on
xlim([-20 20])
ylim([-15 15])
I want to mark a clusters of the data by circle. This is the function that I used incircle()
[C,R] = incircle(A(:,1),A(:,2));
viscircles(C,R,'color','b')
It does not plot proper circle around the data.
After this want to draw ellipse around all data plotEllipses
plotEllipses([0, 0], [10, 0.5])
But I dont know how to rotate ellipse
The result should be:

採用された回答

Matt J
Matt J 2021 年 11 月 30 日
At the very end of the the Examples tab of
you will find examples for how to plot circles and rotated ellipses.
  1 件のコメント
NA
NA 2021 年 12 月 1 日
Thank you. I'd like to make sure that I need to use incircle() function, for finding the center.
Also, I should run ellipticalFit.groundtruth two times to draw circle and ellipse.
This is the code I used
A = [10 -10; 1 0; -1 0; 0 -1; 0 1 ;11 -10; -1 -1];
[C,R] = incircle(A(:,1),A(:,2));
Cx = C(1);
Cy = C(2);
angle = -41; %Rotation angle in degrees
[a,b] = deal(18,2); %Major and minor axis radii
gtobj=ellipticalFit.groundtruth(A', [Cx,Cy],[a,b],angle); %Ground truth object
[hTruth,hData]=plot(gtobj,{'Color','m','LineWidth',2},...
{'MarkerFaceColor','c','MarkerEdgeColor','k'}); %Visualize ground truth
hold on
gtobj=ellipticalFit.groundtruth(A', [Cx,Cy],[2,2],angle); %Ground truth object
[hTruth,hData]=plot(gtobj,{'Color','k','LineWidth',1},...
{'MarkerFaceColor','c','MarkerEdgeColor','k'}); %Visualize ground truth
xlim([-20 20])
ylim([-15 15])
grid on

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSurface and Mesh Plots についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by