Можно интерактивно исследовать и редактировать построенные данные для улучшения визуального отображения данных или получения дополнительной информации о данных. Доступные взаимодействия зависят от содержимого осей, но обычно включают изменение масштаба, панорамирование, вращение, советы данных, окрашивание данных и восстановление исходного представления.
Некоторые типы взаимодействий доступны через панель инструментов осей. Панель инструментов отображается в правом верхнем углу осей при наведении указателя мыши на область диаграммы.
Другие типы взаимодействий встроены в оси и доступны посредством жестов, таковы как перетаскивание к панорамированию или прокрутка для масштабирования. Этими взаимодействиями управляют отдельно от тех на панели инструментов осей.
Когда вы создаете график, можно управлять набором доступных взаимодействий несколькими способами:
В R2018a и предыдущих релизах, многие опции взаимодействия появляются на панели инструментов фигуры вместо панели инструментов осей. Кроме того, в предыдущих релизах ни одно из взаимодействий не встроено в оси.
Чтобы показать или скрыть панель инструментов осей, установите Visible
свойство AxesToolbar
возразите против 'on'
или 'off'
, соответственно. Например, скройте панель инструментов для текущей системы координат:
ax = gca;
ax.Toolbar.Visible = 'off';
Можно настроить опции, доступные на панели инструментов осей с помощью axtoolbar
и axtoolbarbtn
функции.
Например, добавьте пользовательскую кнопку состояния для панели инструментов осей, которая включает и выключает линии сетки осей. Во-первых, создайте программный файл под названием 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
Чтобы управлять, включен ли набор встроенных взаимодействий в рамках графика, используйте disableDefaultInteractivity
и enableDefaultInteractivity
функции. Иногда MATLAB® автоматически отключает встроенные взаимодействия. Например, они могут быть отключены для графиков, которые имеют специальные функции, или когда вы реализуете определенные коллбэки, такие как WindowScrollWheelFcn
'callback'.
Большинство типов осей включает набор по умолчанию встроенных взаимодействий, которые соответствуют определенным жестам. Взаимодействия, которые доступны, зависят от содержимого осей. Наиболее оси декартовой системы координат включают взаимодействия для прокрутки для масштабирования, наводя или щелкая, чтобы отобразить всплывающие подсказки и перетаскивание к панорамированию (в 2D представлении) или вращаться (в 3-D представлении). Можно заменить набор по умолчанию на новый набор взаимодействий, но вы не можете получить доступ или изменить любое из взаимодействий в наборе по умолчанию.
Чтобы заменить взаимодействия по умолчанию, установите 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];
Теперь перетаскивание в области построения задает прямоугольную необходимую область, чтобы масштабировать в.