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

2 vues (au cours des 30 derniers jours)
Kelin Chen
Kelin Chen le 14 Nov 2024
Commenté : Kelin Chen le 14 Nov 2024
How to use matlab to reproduce the following scatter figure?
As shown below:

Réponse acceptée

Matt J
Matt J le 14 Nov 2024
Modifié(e) : Matt J le 14 Nov 2024
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

Plus de réponses (1)

Walter Roberson
Walter Roberson le 14 Nov 2024
Modifié(e) : Walter Roberson le 14 Nov 2024
Unfortunately, markers are only customizable between a limited number of pre-set shapes.
Or I suppose you could use fill()

Catégories

En savoir plus sur Scatter Plots dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by