Plotting letters instead of symbols

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

 采纳的回答

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 个评论

Is there any way that you can plot just the letters, so they are not labels, but instead of '+' you use 'A'?
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.
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')

请先登录,再进行评论。

更多回答(1 个)

The text function allows you to write text on an axes.
help text

类别

在 帮助中心 和 File Exchange 中查找有关 Annotations 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by