Добавление текста к диаграмме

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

Положение текста

Добавить текст рядом с определенной точкой данных можно используя команду 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)

Figure contains an axes. The axes contains 2 objects of type line, text.

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

По умолчанию заданная точка данных находится слева от текста. Выровняйте точку данных справа от текста путем определения 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')

Figure contains an axes. The axes contains 2 objects of type line, text.

Размер шрифта

Укажите размер шрифта для текста путем установки 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)

Figure contains an axes. The axes contains 2 objects of type line, text.

Настройка свойств текста

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

Figure contains an axes. The axes contains 2 objects of type line, text.

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

Отображение текста через несколько линии с помощью массива ячеек из векторов символов. Каждый элемент массива ячеек является одной линией текста. В данном примере отображается заголовок с двумя линиями. Можно использовать подобный подход для отображения многострочного текста с 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)

Figure contains an axes. The axes contains 2 objects of type line, text.

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

Включите значение переменных в текст при помощи 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)

Figure contains an axes. The axes contains 2 objects of type line, text.

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

Добавьте текст в любое место рисунка, используя 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')

Figure contains an axes. The axes contains an object of type line.

См. также

| | | |

Похожие темы