Mathematica's unified symbolic architecture makes it straightforward to insert dynamic behavior anywhere in any graphic. Single functions—readily generated programmatically—define the most common annotations and drill-downs, and integration with the full Mathematica language allows arbitrarily complex behaviors to be defined.
Tooltip — attach a tooltip with any contents to any object
Dynamic — display any object dynamically updated
Inset — inset any static or dynamic expression into a graphic
Locator — dynamic movable handle in any graphic
Manipulate — attach general interactive controls to any graphic