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

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

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

Добавьте текст рядом с конкретной точкой данных с помощью функции text. В этом случае добавьте текст в точку (π,sin(π)). Первые два входных параметра к функции 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)

Установка текстовых свойств

Текстовая функция создает Текстовый объект. объекты 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')

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

| | | |

Похожие темы