2015-06-17 2 views
1

Трудно определить в этой области каждый из многих заполненных областей, просто глядя на легенду (это похоже на 16!).Укажите название заполненных областей внутри участка участка - Matlab?

Итак, мне было интересно, есть ли способ разместить какие-то метки (с указателем, возможно?) Внутри сюжета, который четко определяет каждую заполненную область?

Спасибо!

enter image description here

ответ

3

Здесь можно использовать annotation objects и опцию textarrow, в которой отображается текст вместе со стрелкой. Это может быть полезно для вас указать в узких регионах, где текст будет скрывать данные.

Например:

clear 
clc 
close all 

x = 1:128; 

%// Plot data 
figure 
hAxes1 = axes('Position',[.1 .1 .6 .8]); 
image(x.'); 
axis off 
colormap(jet(128)) 

%// Define labels 
ColorLabels = {'Red';'Orange';'Green';'Blue';'More blue'}; 

%// Define starting and ending x and y positions 
xstart = .8; 
xend = .6; 
ystart = linspace(.1,.8,numel(ColorLabels)); 
yend = linspace(.15,.8,numel(ColorLabels)); 
for k = 1:numel(ColorLabels) 

    annotation('textarrow', [xstart xend],[ystart(k) yend(k)],... 
      'String', ColorLabels{k});  
end 

дает следующий результат:

enter image description here

+0

Большое спасибо! –

+0

добро пожаловать! :) –

+2

Мне нужно больше узнать об этих объектах аннотации! :-) –

1

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

Для этого потребуется некоторое обслуживание - вам необходимо указать координату x и y и текст для печати, например.

text(20, 400, 'Region 4') 

, который сконцентрируется на этикетке (20400) (см 'VerticalAlignment' и 'HorizontalAlignment' пар имя-значение в docs для тонкой настройки), так что для меня это, как правило, предпочтительнее, чтобы написать небольшую оболочку, которая будет работать их из данных. Конечно, это, как правило, характерно для конкретного типа данных, которые вы используете, и редко обобщается на другие виды использования земельных участков, но это, скорее всего, почему у вас уже нет общей функции маркировки (что я знаю).

+0

Большое спасибо! –

+0

Добро пожаловать! – xenoclast

Смежные вопросы