Добавьте текст, чтобы строить диаграмму

Этот пример показывает, как добавить текст к графику, управлять текстовым положением и размером, и создать многострочный текст.

Текстовое положение

Добавьте текст рядом с конкретной точкой данных с помощью функции text. В этом случае добавьте текст к точке. Первые два входных параметра к функции text задают положение. Третий аргумент задает текст.

По умолчанию текст поддерживает подмножество разметки TeX. Используйте синтаксис TeX \pi для греческой буквы. Отобразите стрелку, указывающую налево включением разметки TeX \leftarrow. Для полного списка разметки см. греческие буквы и Специальные символы в тексте Графика.

x = linspace(0,10,50);
y = sin(x);
plot(x,y)

txt = '\leftarrow sin(\pi) = 0';
text(pi,sin(pi),txt)

Выравнивание текста

По умолчанию заданная точка данных слева от текста. Выровняйте точку данных справа от текста путем определения свойства HorizontalAlignment как 'right'. Используйте стрелку, указывающую направо вместо налево.

x = linspace(0,10,50);
y = sin(x);
plot(x,y)

txt = 'sin(\pi) = 0 \rightarrow';
text(pi,sin(pi),txt,'HorizontalAlignment','right')

'FontSize'

Задайте размер шрифта для текста путем установки свойства FontSize как аргумента в виде пар "имя-значение" функции text. Можно использовать аналогичный подход, чтобы изменить размер шрифта при использовании title, xlabel, ylabel или функций legend.

x = linspace(0,10,50);
y = sin(x);
plot(x,y)

txt = '\leftarrow sin(\pi) = 0';
text(pi,sin(pi),txt,'FontSize',14)

Setting Text Properties

Текстовая функция создает Текстовый объект. объекты Text имеют свойства, которые можно использовать, чтобы настроить внешний вид текста, такого как HorizontalAlignment или FontSize.

Можно установить свойства двумя способами:

  • Используйте пары "имя-значение" в команде text, такие как 'FontSize',14.

  • Используйте объект Text. Можно возвратить объект Text как выходной аргумент от функции text и присвоить его переменной, такой как t. Затем используйте запись через точку, чтобы установить свойства, такие как t.FontSize = 14.

Для этого примера измените размер шрифта с помощью записи через точку вместо пары "имя-значение".

x = linspace(0,10,50);
y = sin(x);
plot(x,y)

txt = '\leftarrow sin(\pi) = 0';
t = text(pi,sin(pi),txt)
t = 
  Text (\leftarrow sin(\pi) = 0) with properties:

                 String: '\leftarrow sin(\pi) = 0'
               FontSize: 10
             FontWeight: 'normal'
               FontName: 'Helvetica'
                  Color: [0 0 0]
    HorizontalAlignment: 'left'
               Position: [3.1416 1.2246e-16 0]
                  Units: 'data'

  Show all properties

t.FontSize = 14;

Многострочный текст

Отобразите текст через несколько строк с помощью массива ячеек из символьных векторов. Каждый элемент массива ячеек является одной строкой текста. Для этого примера отобразите заголовок с двумя строками. Можно использовать аналогичный подход, чтобы отобразить многострочный текст с title, xlabel, ylabel или функциями legend.

x = linspace(0,10,50);
y = sin(x);
plot(x,y)

txt = {'Plotted Data:','y = sin(x)'};
text(4,0.5,txt)

Текст со значением переменных

Включайте значение переменных в текст при помощи функции num2str, чтобы преобразовать номер в текст. Для этого примера вычислите среднее число y значение и включайте значение в заголовок. Можно использовать аналогичный подход, чтобы включать значения переменных с title, xlabel, ylabel или функциями legend.

x = linspace(0,10,50);
y = sin(x);
plot(x,y)

avg = mean(y);
txt = ['Average height: ' num2str(avg) ' units'];
text(4,0.5,txt)

Текст вне осей

Добавьте текст где угодно в фигуре, использующей функцию annotation вместо функции text. Первый входной параметр задает тип аннотации. Второй входной параметр задает положение аннотации в модулях, нормализованных фигуре. Удалите границу текстового поля путем установки свойства EdgeColor на 'none'. Для получения дополнительной информации об аннотациях текстового поля смотрите, что annotation функционирует.

x = linspace(0,10,50);
y = sin(x);
plot(x,y)

annotation('textbox',[.9 .5 .1 .2],'String','Text outside the axes','EdgeColor','none')

Смотрите также

| | | |

Похожие темы

Была ли эта тема полезной?