This function enables a graphical object (be it a line, plot, patch, rectangle, text box, etc.) to be dragged inside an axis, with a very simple syntax ("draggable(h)"), following or not horizontal, vertical or diagonal constraints. Limits can be imposed on the object's movement.
Some figure properties are changed by the function, but previous properties are restored as soon as the drag is stopped. The behavior of the object can be reverted to its original, non-draggable state, by issuing "draggable(h,'off')".
Typical uses of this function would include non-standard GUI elements, such as markers that are moved on a figure or image. A function which is called when the object is moved can be provided as an optional argument, so that the movement triggers further actions.
See the provided file dragdemo.m for usage examples.
Francois Bouffard (2023). draggable (https://www.mathworks.com/matlabcentral/fileexchange/4179-draggable), MATLAB Central File Exchange. 取得済み .
プラットフォームの互換性Windows macOS Linux
ヒントを与えたファイル: colorStudioMax: ColorBrowser+dictionary, colorBlind correct, DragDataTip, roitool, DIGITIZE07, Enhanced Dicom Viewer, imdisp (enhanced version), Add an ROI toolbar to your figure, draggableRect, AVPlay
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
Probable fix to draggable not working well with App Designer apps. Thanks to William E. Warriner for working on the fix with me and testing it.
This update fixes a bug found by Esmerald Aliai in which draggable would not work for axes embedded in Panels. In fact this should also fix Shaun's bug mentioned in March 2012.
Major update. Now supports text objects. Diagonal constraints with arbitrary slopes added. Single call for applying draggable on multiple objects sharing the same parameters supported. Added the 'sliders' demo in dragdemo. General cleanup.
implemented a feature and fixed a bug (both user-suggested)
Bugfix for Matlab 7+: axes no longer disappear. Renderer option removed.