How to customize the markers of the scatter figure, as shown below
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Kelin Chen
am 14 Nov. 2024
Kommentiert: Kelin Chen
am 14 Nov. 2024
How to use matlab to reproduce the following scatter figure?
As shown below:

0 Kommentare
Akzeptierte Antwort
Matt J
am 14 Nov. 2024
Bearbeitet: Matt J
am 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
Weitere Antworten (1)
Walter Roberson
am 14 Nov. 2024
Bearbeitet: Walter Roberson
am 14 Nov. 2024
Unfortunately, markers are only customizable between a limited number of pre-set shapes.
You will need to patch(), as I recently described in https://www.mathworks.com/matlabcentral/answers/2164720-how-to-add-pattern-fill-to-markers-in-scatter-plot#answer_1542590
Or I suppose you could use fill()
0 Kommentare
Siehe auch
Kategorien
Mehr zu Scatter Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
