Добавление описания вне сюжета с цветным текстом - PullRequest
1 голос
/ 10 января 2020

Я работаю над визуализацией моих данных и хотел бы добавить описание графика. Описание будет добавлено вне сюжета. Для этого я написал:

plot(1:10)
text(2,8,'my text here ','Color','green','FontSize',14,'location','EastOutside')

Но это не работает, я получаю ошибку:

В классе Text нет свойства location.

Как это исправить?

Это мой желаемый вывод:

pic

Ответы [ 2 ]

2 голосов
/ 10 января 2020

Входная пара location, которую вы передаете text, предназначена для объектов legend, а не text ...

Местоположение определяется первыми двумя входами (x / y), поэтому, если вы не используете ввод location, вы получите следующее:

text( 2, 8, 'my text here ', 'Color', 'green', 'FontSize', 14 )

plot with text

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

annotation( 'textbox', 'String', 'my annotation', 'Color', 'green', ...
            'FontSize', 14, 'Units', 'normalized', 'EdgeColor', 'none', ...
            'Position', [0.8,0.5,0.2,0] )

Поскольку я здесь используется позиция normalized, аргумент Position - это процент от окна рисунка. Чтобы получить поведение, которое, как я подозреваю, вам нужно, вам также нужно изменить положение осей ...

set( gca, 'Position', [0.1, 0.1, 0.6, 0.8] )

plot with annotation

0 голосов
/ 10 января 2020

text() подходит для go, если вы хотите, чтобы произвольное описание было где-то на вашей фигуре, но если вы просто хотите разместить легенду снаружи, используйте пару Имя-Значение-пара в legend(...,'Location,'northeastoutside'). Пример помещает легенду в верхнем правом углу рядом с вашей фигурой.

...