How to customize the markers of the scatter figure, as shown below

2 ビュー (過去 30 日間)
Kelin Chen
Kelin Chen 2024 年 11 月 14 日
コメント済み: Kelin Chen 2024 年 11 月 14 日
How to use matlab to reproduce the following scatter figure?
As shown below:

採用された回答

Matt J
Matt J 2024 年 11 月 14 日
編集済み: Matt J 2024 年 11 月 14 日
Here's one way. Not sure you'll like the gymnastics that it requires:
[x,y]=deal(rand(1,40), rand(1,40)); %scattered input data
scatterCustom(x,y)
function scatterCustom(x,y)
%%Create marker prototypes
t=linspace(-pi/2,pi/2,1000)';
t(end+1)=t(1);
p=polyshape([cos(t),sin(t)]/35);
q=rotate(p,180);
f=@(zz,xx,yy) arrayfun(@(u,v) translate(zz,u,v),xx,yy); %translator
%%Plot
plot(f(p,x,y),FaceColor='b');hold on;axis equal
plot(f(q,x,y),FaceColor='none');hold off
end
  1 件のコメント
Kelin Chen
Kelin Chen 2024 年 11 月 14 日
Thank you, Matt J. Your code is excellent.

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

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2024 年 11 月 14 日
編集済み: Walter Roberson 2024 年 11 月 14 日
Unfortunately, markers are only customizable between a limited number of pre-set shapes.
Or I suppose you could use fill()

カテゴリ

Help Center および File ExchangeScatter Plots についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by