How to use scatter function with different marker, markerFaceColor?

Here, I want to draw 3 points. Marker are 'o' , 'diamond' and '<'. MarkerEdgeColor are [0.19608 0.80392 0.19608], [0.72941 0.33333 0.83922] and [1,1,0]. How to use scatter once to draw these 3 points? I tried as following and failed.
x=[1,2,3];
y=x;
marker=['o','d','<'];
color=[0.19608 0.80392 0.19608;0.72941 0.33333 0.83922;1,1,0];
scatter(x,y,'Marker',marker,'MarkerFaceColor',color,'MarkerEdgeColor','k');

5 Comments

You would need 3 different scatter calls. Each scatter group has a single marker type, as far as I am aware.
You could also use plot or line, but probably still need 3 calls for 3 different types of marker, though I may be wrong.
I don't want to use for...loop statement which running too slowly.
You only have 3 points. How slow can it be?!
In fact, there are 5000+ points in my code.
Well there aren't 5000 different types of marker anyway so how exactly do you want them to be grouped? You only need to do a sinigle scatter call per marker type, not for every single point. If you have 1000 points using the same marker type you can plot them all in one instruction, you just can't mix marker types in a single instruction.
Your example of 3 points, each with a different marker is not sufficient for us to understand what you want to do with 5000 though.

Sign in to comment.

Answers (2)

I don't want to use for...loop statement which running too slowly.
You will need to get a job or internship with Mathworks with the goal of extending the scatter object to handle multiple markers in a way that is backwards compatible (does not trigger a fault if the resulting object is loaded in an earlier version) and yet retains high performance for drawing.
There is no possibility in any released version of MATLAB to use multiple marker shapes for any one scatter or line or surface or patch object.

2 Comments

In a crowded picture, once you get beyond about 5 different marker types, it can be difficult to distinguish them. You can group all of the points to be drawn with the same marker type into the same scatter() call.

Sign in to comment.

Products

Release

R2018b

Tags

Asked:

on 16 Sep 2019

Commented:

on 19 Sep 2019

Community Treasure Hunt

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

Start Hunting!