findall

Найти все графические объекты

Описание

пример

h = findall(objhandles) возвращает графические объекты в objhandles и всех их потомков. В отличие от findobj функция, findall возвращает объекты, даже если их HandleVisibility для свойства задано значение 'off'.

пример

h = findall(objhandles,prop1,value1,...,propN,valueN) возвращает указатели всех объектов иерархии, у которых заданные свойства установлены на заданные значения. Для примера, h = findall(gcf,'Type','text',Color','r') возвращает все текстовые объекты текущей фигуры, имеющие красный цвет.

Примеры

свернуть все

Создайте три рисунков. Установите HandleVisibility свойство последнего рисунка, которое должно быть 'off'.

f1 = figure;
f2 = figure;
f3 = figure('HandleVisibility','off');

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

h1 = findall(groot);
disp(numel(h1))
     4

Найти все видимые или скрытые рисунки.

h2 = findall(groot,'Type','figure')
h2 = 
  3x1 Figure array:

  Figure    (3)
  Figure    (2)
  Figure    (1)

Если вы пытаетесь найти рисунки с помощью findobj функция, MATLAB ® возвращается только f1 и f2.

h3 = findobj('Type','figure')
h3 = 
  2x1 Figure array:

  Figure    (2)
  Figure    (1)

Text объекты в рисунок имеют скрытые указатели. Использование findall для возврата этих скрытых указателей.

Создать рисунок с графиком. Затем создайте метку для оси X.

plot(1:10)
txt = xlabel('My x-axis label');

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

Проверьте, что HandleVisibility свойство на txt установлено в 'off'.

txt.HandleVisibility
ans = 
'off'

Использование findall чтобы вернуть Text объект для метки оси X.

h1 = findall(gcf,'Type','text')
h1 = 
  Text (My x-axis label) with properties:

                 String: 'My x-axis label'
               FontSize: 11
             FontWeight: 'normal'
               FontName: 'Helvetica'
                  Color: [0.1500 0.1500 0.1500]
    HorizontalAlignment: 'center'
               Position: [5.5000 0.5222 -1]
                  Units: 'data'

  Show all properties

Потому что Text объект скрыт, вы не можете найти его используя findobj функция.

h2 = findobj(gcf,'Type','text')
h2 = 
  0x0 empty GraphicsPlaceholder array.

Использование findall чтобы вернуть все Text объекты или Text объекты с определенными свойствами.

Создать рисунок с графиком. Затем пометьте оси и добавьте заголовок к осям. Установите синий цвет заголовка.

plot((1:10).^2)
xlabel('x')
ylabel('y')
title('y = x^2','Color','b')

Figure contains an axes. The axes with title y = x^2 contains an object of type line.

Верните все Text объекты на текущей фигуре.

h1 = findall(gcf,'Type','text')
h1 = 
  3x1 Text array:

  Text    (y = x^2)
  Text    (x)
  Text    (y)

А теперь верните все синие Text объекты.

h2 = findall(gcf,'Type','text','Color','b')
h2 = 
  Text (y = x^2) with properties:

                 String: 'y = x^2'
               FontSize: 11
             FontWeight: 'bold'
               FontName: 'Helvetica'
                  Color: [0 0 1]
    HorizontalAlignment: 'center'
               Position: [5.5000 100.8017 1.4211e-14]
                  Units: 'data'

  Show all properties

Входные параметры

свернуть все

Объекты для поиска, заданные как массив графических объектов. findall выполняет поиск объектов в массиве входа objhandles и все их потомки в иерархии графических объектов.

Пример: h = findall(groot) возвращает все видимые и скрытые указатели в иерархии графических объектов.

Имя свойства, заданное как вектор символов или строковый скаляр. Для получения дополнительной информации см. раздел «Свойства графического объекта».

Пример: h = findall(gcf,'Type','text') возвращает все объекты на текущей фигуре, чей Type для свойства задано значение 'text'.

Значение свойства, заданное как скаляр или массив.

Совет

  • Чтобы настроить поиск с findall, можно использовать objhandles далее следуют входные комбинации из findobj функция. Для примера:

    h = findall(groot,prop1,value1,'-not',prop2,value2,'-property',prop3)
    

Представлено до R2006a