# Top level options
The following options are available at the top level. They apply to all annotations unless they are overwritten on a per-annotation basis.
Name | Type | Scriptable | Default | Notes |
---|---|---|---|---|
animations | object | No | see here | To configure which element properties are animated and how. |
clip | boolean | No | true | Are the annotations clipped to the chartArea. |
common | Object | No | To configure common options apply to all annotations | |
interaction | Object | No | options.interaction | To configure which events trigger plugin interactions |
WARNING
Setting clip
to false
, you can enable the possibility to draw part of the annotation outside of the chart area.
Nevertheless events are only caught over the chartArea.
# Animations
Animations options configures which element properties are animated and how, with the same configuration of chart.js (opens new window).
const options = {
plugins: {
annotation: {
animations: {
numbers: {
properties: ['x', 'y', 'x2', 'y2', 'width', 'height', 'radius'],
type: 'number'
},
},
annotations: {
box1: {
type: 'box',
xMin: 1,
xMax: 2,
yMin: 50,
yMax: 70,
backgroundColor: 'rgba(255, 99, 132, 0.5)'
}
}
}
}
};
# Default animations
Name | Option | Value |
---|---|---|
numbers | properties | ['x', 'y', 'x2', 'y2', 'width', 'height', 'centerX', 'centerY', 'pointX', 'pointY', 'radius'] |
numbers | type | number |
# Common
The following options apply to all annotations unless they are overwritten on a per-annotation basis.
Name | Type | Scriptable | Default | Notes |
---|---|---|---|---|
drawTime | string | Yes | 'afterDatasetsDraw' | See drawTime. |
# Events
The following options are available for all annotation types. These options can be specified per annotation, or at the top level which apply to all annotations.
Name | Type | Chart event1 | Notes |
---|---|---|---|
click | (context, event) => boolean | void | 'click' | Called when a single click occurs on the annotation. |
enter | (context, event) => boolean | void | 'mousemove' | Called when the mouse enters the annotation. |
leave | (context, event) => boolean | void | 'mousemove' | Called when the mouse leaves the annotation. |
TIP
1 Chart.js events (opens new window) that need to be enabled in order to get the associated annotation event working. Note that by default Chart.js enables 'mousemove', 'mouseout', 'click', 'touchstart', 'touchmove'
, meaning that annotation events work out-of-the-box.
If the event callbacks explicitly returns true
, the chart will re-render automatically after processing the event completely. This is important when there are the annotations that require re-draws (for instance, after a change of a rendering options).