Can I make a scatterplot with custom marker symbols?
103 views (last 30 days)
Show older comments
MATLAB has a range of default symbols to use as point markers on a scatterplot (circle, asterisk, point, etc.). But is there any way of replacing these with a custom symbol? Specifically, I would like to give each point a thumbnail image representing the identity of that point. Is that possible?
0 Comments
Accepted Answer
Thomas
on 21 Mar 2012
Short answer: NO. User defined markers cannot be used in MATLAB.. Though you could draw (image) them in each location..
The markers in MATLAB are..
'+' Plus sign
'o' Circle
'*' Asterisk
'.' Point
'x' Cross
'square' or 's' Square
'diamond' or 'd' Diamond
'^' Upward-pointing triangle
'v' Downward-pointing triangle
'>' Right-pointing triangle
'<' Left-pointing triangle
'pentagram' or 'p' Five-pointed star (pentagram)
'hexagram' or 'h''' Six-pointed star (hexagram)
'none' No marker (default)
5 Comments
Oleg Komarov
on 21 Mar 2012
You can ry this example:
load discrim
h = gscatter(ratings(:,1),ratings(:,2),group,'br','xo');
hold on
troll = imread('http://ragecollection.com/img/ragefaces/trollface.png');
imagesc([680 710],[8800 8100],troll)
More Answers (1)
Oleg Komarov
on 21 Mar 2012
To show a practical example using Thomas' link in the comments:
% Sample scattergroup
load discrim
h = gscatter(ratings(:,1),ratings(:,2),group,'br','xo');
hold on
% Define the font and desired character (smiley)
font = 'Wingdings';
m = 'J';
% Use text to plot the character
x = get(h(2),'Xdata');
y = get(h(2),'Ydata');
text(x,y,m,'fontname',font,'HorizontalAl','center','color','r')
% Delete old markers
delete(h(2))
0 Comments
See Also
Categories
Find more on Scatter Plots in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!