How to customize the markers of the scatter figure, as shown below
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Kelin Chen
el 14 de Nov. de 2024
Comentada: Kelin Chen
el 14 de Nov. de 2024
How to use matlab to reproduce the following scatter figure?
As shown below:

0 comentarios
Respuesta aceptada
Matt J
el 14 de Nov. de 2024
Editada: Matt J
el 14 de Nov. de 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
Más respuestas (1)
Walter Roberson
el 14 de Nov. de 2024
Editada: Walter Roberson
el 14 de Nov. de 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 comentarios
Ver también
Categorías
Más información sobre Scatter Plots en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
