Можно интерактивно исследовать и редактировать построенные данные для улучшения визуального отображения данных или получения дополнительной информации о данных. Доступные взаимодействия зависят от содержимого осей, но обычно включают изменение масштаба, панорамирование, вращение, советы данных, окрашивание данных и восстановление исходного представления.
Некоторые типы взаимодействий доступны через панель инструментов осей. Панель инструментов отображается в правом верхнем углу осей при наведении указателя мыши на область диаграммы.
Другие типы взаимодействий встроены в оси и доступны посредством жестов, таковы как перетаскивание к панорамированию или прокрутка для масштабирования. Этими взаимодействиями управляют отдельно от тех на панели инструментов осей.
Когда вы создаете график, можно управлять набором доступных взаимодействий несколькими способами:
В R2018a и предыдущих релизах, многие опции взаимодействия появляются на панели инструментов фигуры вместо панели инструментов осей. Кроме того, в предыдущих релизах ни одно из взаимодействий не встроено в оси.
Чтобы показать или скрыть панель инструментов осей, установите свойство Visible
объекта AxesToolbar
к 'on'
или 'off'
, соответственно. Например, скройте панель инструментов для текущей системы координат:
ax = gca;
ax.Toolbar.Visible = 'off';
Можно настроить опции, доступные на панели инструментов осей с помощью функций axtoolbarbtn
и axtoolbar
.
Пользовательские панели инструментов не кажутся в цифрах в Live Editor. Чтобы видеть пользовательскую панель инструментов, откройте фигуру в отдельном окне рисунка.
Например, добавьте пользовательскую кнопку состояния для панели инструментов осей, которая включает и выключает линии сетки осей. Во-первых, создайте программный файл под названием mycustomstatebutton.m
. В программном файле:
Отобразите случайные данные на графике.
Создайте панель инструментов для осей с опциями, чтобы увеличить масштаб, уменьшить масштаб, и восстановить представление с помощью функции axtoolbar
.
Добавьте пустую кнопку состояния в панель инструментов с помощью функции axtoolbarbtn
. Возвратите объект ToolbarStateButton
.
Задайте значок, подсказку и функцию обратного вызова для кнопки состояния путем установки Icon
, Tooltip
и свойств ValueChangedFcn
. Этот пример использует значок, который необходимо сначала сохранить как файл изображения под названием 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
Чтобы управлять, включен ли набор встроенных взаимодействий в рамках графика, используйте функции enableDefaultInteractivity
и disableDefaultInteractivity
. Sometimes MATLAB® автоматически отключает встроенные взаимодействия. Например, они могут быть отключены для графиков, которые имеют специальные функции, или когда вы реализуете определенные коллбэки, такие как WindowScrollWheelFcn
.
Большинство осей типов включает значение по умолчанию набор встроенных взаимодействий, которые соответствуют определенным жестам. Взаимодействия, которые доступны, зависят от содержимого осей. Наиболее оси декартовой системы координат включают взаимодействия для прокрутки для масштабирования, наводя или щелкая, чтобы отобразить всплывающие подсказки и перетаскивание к панорамированию (в 2D представлении) или вращаться (в 3-D представлении). Можно заменить набор по умолчанию на новый набор взаимодействий, но вы не можете получить доступ или изменить любое из взаимодействий в наборе по умолчанию.
Настройка или заменение встроенных взаимодействий не поддержаны в Live Editor.
Чтобы заменить взаимодействия по умолчанию, установите свойство Interactions
осей к массиву объектов взаимодействия. Выберите совместимую комбинацию объектов взаимодействия из следующей таблицы. Чтобы удалить все взаимодействия из осей, установите свойство на пустой массив ([]
).
Объект взаимодействия | Описание | Совместимые взаимодействия |
---|---|---|
panInteraction | Панорамирование в рамках графика путем перетаскивания. | Все кроме regionZoomInteraction и rotateInteraction |
rulerPanInteraction | Панорамируйте ось путем перетаскивания его. | Все |
zoomInteraction | Изменение масштаба путем прокрутки или зажимания. | Все |
regionZoomInteraction | Масштабируйте в прямоугольную область путем перетаскивания. (Только для 2D графиков) | Все кроме panInteraction и rotateInteraction |
rotateInteraction | Вращайте график путем перетаскивания его. | Все кроме panInteraction и regionZoomInteraction |
dataTipInteraction | Отобразите всплывающие подсказки путем наведения, щелкнув, или ответвление. | Все |
Например, создайте график, содержащий 1 000 рассеянных точек.
x = 1:500; y = randn(1,500); y2 = 5*randn(1,500) + 10; plot(x,y,'.',x,y2,'.')
По умолчанию этот график имеет набор взаимодействий, который включает перетаскивание к панорамированию в области диаграммы. Однако, потому что график имеет плотный набор точек, более полезный набор взаимодействий может включать то, которое позволяет вам масштабировать в определенные области графика. Объект regionZoomInteraction
обеспечивает эту функциональность. Замените набор по умолчанию взаимодействий для текущей системы координат с массивом, который включает объект regionZoomInteraction
.
ax = gca; ax.Interactions = [zoomInteraction regionZoomInteraction rulerPanInteraction];
Теперь, перетаскивание в области построения задает прямоугольную видимую область, чтобы масштабировать в.