MATLAB Answers

Plotting letters instead of symbols

187 views (last 30 days)
Alice
Alice on 17 Oct 2014
Hi I'm really new to MATLAB and I'm generating images which are a set of 9 letters encased in a rectangle. I can do this with symbols (such as +) but I need to use letters in place of the symbols.
How do I replace the symbols with normal letters?
Thanks

  0 Comments

Sign in to comment.

Accepted Answer

Star Strider
Star Strider on 17 Oct 2014
You have to use the text function to label your points with letters.
Example:
x = randi(10, 1, 5); % Create Data
y = randi(10, 1, 5);
L = strsplit(sprintf('%c\n','A':'E')); % Letter Labels
figure(1)
plot(x, y, '+r')
text(x, y, L(1:length(x)), 'HorizontalAlignment','center', 'VerticalAlignment','bottom')
axis([-0.5 10.5 -0.5 10.5 ])

  4 Comments

Show 1 older comment
Alice
Alice on 20 Oct 2014
Is there any way that you can plot just the letters, so they are not labels, but instead of '+' you use 'A'?
Star Strider
Star Strider on 20 Oct 2014
My pleasure!
Just change the plot call to:
plot(x, y)
In that situation, you may also want to change the text call to:
text(x, y, L(1:length(x)), 'HorizontalAlignment','center', 'VerticalAlignment','center')
to plot the letters exactly on top of your data points.
Prasanna Venkatesh
Prasanna Venkatesh on 27 Jun 2019
Update:
In recent version, replace 'center' by 'middle' only in 'VerticalAlignment' value in text call.
text(x, y, L(1:length(x)), 'HorizontalAlignment','center', 'VerticalAlignment','middle')

Sign in to comment.

More Answers (1)

Robert Cumming
Robert Cumming on 17 Oct 2014
The text function allows you to write text on an axes.
help text

  0 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!