File Exchange

image thumbnail


version (5.34 KB) by Chad Greene
Easily draw shapes on a figure via mouse.


Updated 22 Sep 2015

View License

This function lets you easily draw shapes on a current figure. The image above was created by

draw 'arrow'
draw('rectangle','linewidth',1.5,'color',[0.08 0.69 0.10])
draw('doublearrow','linewidth',3,'headstyle','rose','color',[0.98 0.45 0.24])

After calling draw, you may:

* Click and drag to draw shapes,

* press 'a', 'e', 'l', 'r', or 'd' on your keyboard to change the shape to arrow, ellipse, line, rectangle, or doublearrow,

* press backspace to delete previous shape,

* press escape to delete all shapes and quit drawing mode, or

* press enter to keep shapes as they appear in the figure.

Cite As

Chad Greene (2021). draw (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (3)

Carl Witthoft

Sorry -- ignore that part about " 'Name', 'Drawing Mode On...' " . Drawing stuff not in the `annotations` list would require markedly different code.

Carl Witthoft

Very nice indeed. Code is clean, so easy to see how one might add other "set(gcf,'Name','Drawing Mode On: Some_other_shape')".
Feature request: set a bunch of keypresses to change the line color dynamically.


MATLAB Release Compatibility
Created with R2012b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!