exponenta event banner

Интерактивность контрольных диаграмм

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

Некоторые типы взаимодействий доступны через панель инструментов осей. Панель инструментов появляется в правом верхнем углу осей при наведении курсора на область диаграммы.

Sample axes toolbar

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

При создании диаграммы можно управлять набором доступных взаимодействий несколькими способами:

В R2018a и предыдущих версиях многие опции взаимодействия отображаются на панели инструментов рисунка вместо панели инструментов осей. Также в предыдущих выпусках ни одно из взаимодействий не встроено в оси.

Панель инструментов «Показать или скрыть оси»

Чтобы показать или скрыть панель инструментов осей, задайте Visible имущества AxesToolbar объект в 'on' или 'off'соответственно. Например, скрыть панель инструментов для текущих осей:

ax = gca;
ax.Toolbar.Visible = 'off';

Панель инструментов «Адаптация осей»

Опции, доступные на панели инструментов осей, можно настроить с помощью команды axtoolbar и axtoolbarbtn функции.

Примечание

Пользовательские панели инструментов не отображаются в рисунках в интерактивном редакторе. Чтобы увидеть пользовательскую панель инструментов, откройте рисунок в отдельном окне рисунка.

Например, добавьте кнопку пользовательского состояния для панели инструментов осей, которая включает и выключает линии сетки осей. Сначала создайте файл программы с именем mycustomstatebutton.m. В файле программы:

  • Постройте график случайных данных.

  • Создайте панель инструментов для осей с опциями увеличения, уменьшения и восстановления вида с помощью axtoolbar функция.

  • Добавление пустой кнопки состояния на панель инструментов с помощью axtoolbarbtn функция. Вернуть ToolbarStateButton объект.

  • Укажите значок, всплывающую подсказку и функцию обратного вызова для кнопки состояния, задав значение Icon, Tooltip, и ValueChangedFcn свойства. В этом примере используетсяgrid значок, который необходимо сначала сохранить как файл изображения с именем mygridicon.png на вашем пути.

При запуске файла программы щелкните значок для включения и выключения линий сетки.

function mycustomstatebutton

plot(rand(5))
ax = gca;
tb = axtoolbar(ax,{'zoomin','zoomout','restoreview'});

btn = axtoolbarbtn(tb,'state');
btn.Icon = 'mygridicon.png';
btn.Tooltip = 'Grid Lines';
btn.ValueChangedFcn = @customcallback;

    function customcallback(src,event)
        switch src.Value
            case 'off'
                event.Axes.XGrid = 'off';
                event.Axes.YGrid = 'off';
                event.Axes.ZGrid = 'off';
            case 'on'
                event.Axes.XGrid = 'on';
                event.Axes.YGrid = 'on';
                event.Axes.ZGrid = 'on';
        end
    end

end

Line plot with grid lines

Включение и отключение встроенных взаимодействий

Для управления включением набора встроенных взаимодействий в диаграмме используйте disableDefaultInteractivity и enableDefaultInteractivity функции. Иногда MATLAB ® автоматически отключает встроенные взаимодействия. Например, они могут быть отключены для диаграмм, имеющих специальные функции, или при реализации определенных обратных вызовов, таких как WindowScrollWheelFcn.

Настройка встроенных взаимодействий

Большинство типов осей включают набор встроенных взаимодействий по умолчанию, соответствующих определенным жестам. Доступные взаимодействия зависят от содержимого осей. Большинство декартовых осей включают взаимодействия для прокрутки с целью увеличения, зависания или щелчка для отображения подсказок по данным и перетаскивания для панорамирования (на 2-D виде) или поворота (на 3-D виде). Набор по умолчанию можно заменить новым набором взаимодействий, но нельзя получить доступ или изменить любое из взаимодействий в наборе по умолчанию.

Примечание

Настройка или замена встроенных взаимодействий не поддерживается в интерактивном редакторе.

Чтобы заменить взаимодействия по умолчанию, установите Interactions свойства осей для массива объектов взаимодействия. Выберите совместимую комбинацию объектов взаимодействия из следующей таблицы. Чтобы удалить все взаимодействия из осей, задайте свойству пустой массив ([]).

Объект взаимодействияОписаниеСовместимые взаимодействия
panInteractionВыполните панорамирование в пределах диаграммы путем перетаскивания.Все, кроме regionZoomInteraction и rotateInteraction
rulerPanInteractionВыполните панорамирование оси, перетащив ее.Все
zoomInteractionМасштабирование с помощью прокрутки или зажима.Все
regionZoomInteractionУвеличьте изображение прямоугольной области путем перетаскивания.
(Только для 2-х Декартовских диаграмм)
Все, кроме panInteraction и rotateInteraction
rotateInteractionПоверните диаграмму, перетаскивая ее.Все, кроме panInteraction и regionZoomInteraction
dataTipInteractionОтображение подсказок по данным с помощью зависания, щелчка или постукивания.Все

Например, создайте график, содержащий 1000 рассеянных точек.

x = 1:500;
y = randn(1,500);
y2 = 5*randn(1,500) + 10;
plot(x,y,'.',x,y2,'.')

Scatter plot displaying two sets of data using two colors

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

ax = gca;
ax.Interactions = [zoomInteraction regionZoomInteraction rulerPanInteraction];

Теперь перетаскивание в пределах области печати определяет прямоугольную область, представляющую интерес для увеличения.

The same scatter plot with a rectangle surrounding some points

См. также

Функции

Свойства

Связанные темы