How to use string cells as marker types?

5 views (last 30 days)
Mr M.
Mr M. on 24 Sep 2015
Commented: Royi Avital on 22 May 2018
scatter([1],[1],20,'filled','o');
is working, but the following not:
markers = {'o','s','d'};
scatter([1],[1],20,'filled',markers{1});
Why? How to fix this?
  2 Comments
Thorsten
Thorsten on 24 Sep 2015
What exactly do you mean by "it is not working"? I can get different markers with this command.
Subhra Saha
Subhra Saha on 28 Sep 2015
Edited: per isakson on 28 Sep 2015
Mr. M,
I tried the following code snippet and it produces a plot with a marker.
markers = {'o','s','d'};
scatter([1],[1],20,'filled',markers{1});
It will be helpful to know what is the result that you are expecting and also the MATLAB release that you are using.

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 28 Sep 2015
Your code hints that you might be trying to use different markers for different points within one scatter() call, such as if you had done
scatter(rand(1,3),rand(1,3),20,'filled',markers);
hoping that the first point would use the first marker, the second point would use the second marker, and so on.
Any one call to scatter() can only use a single marker type. This is a restriction on scatter(). You can change the marker size for each point and you can change the marker color for each point, but you can only use a single marker type per call.
  1 Comment
Royi Avital
Royi Avital on 22 May 2018
I wish `scatter()` supported list of Markers like in MatPlotLib.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!