From c939f2dbb980c88fbacea502c9e2344e82f3978a Mon Sep 17 00:00:00 2001 From: sbosse Date: Mon, 21 Jul 2025 23:35:00 +0200 Subject: [PATCH] Mon 21 Jul 22:43:21 CEST 2025 --- js/ui/chart/docs/general/options.md | 47 +++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 js/ui/chart/docs/general/options.md diff --git a/js/ui/chart/docs/general/options.md b/js/ui/chart/docs/general/options.md new file mode 100644 index 0000000..a43ad3f --- /dev/null +++ b/js/ui/chart/docs/general/options.md @@ -0,0 +1,47 @@ +# Options + +## Scriptable Options + +Scriptable options also accept a function which is called for each of the underlying data values and that takes the unique argument `context` representing contextual information (see [option context](options.md#option-context)). + +Example: + +```javascript +color: function(context) { + var index = context.dataIndex; + var value = context.dataset.data[index]; + return value < 0 ? 'red' : // draw negative values in red + index % 2 ? 'blue' : // else, alternate values in blue and green + 'green'; +} +``` + + +## Indexable Options + +Indexable options also accept an array in which each item corresponds to the element at the same index. Note that this method requires to provide as many items as data, so, in most cases, using a [function](#scriptable-options) is more appropriated if supported. + +Example: + +```javascript +color: [ + 'red', // color for data at index 0 + 'blue', // color for data at index 1 + 'green', // color for data at index 2 + 'black', // color for data at index 3 + //... +] +``` + +## Option Context + +The option context is used to give contextual information when resolving options and currently only applies to [scriptable options](#scriptable-options). + +The context object contains the following properties: + +- `chart`: the associated chart +- `dataIndex`: index of the current data +- `dataset`: dataset at index `datasetIndex` +- `datasetIndex`: index of the current dataset + +**Important**: since the context can represent different types of entities (dataset, data, etc.), some properties may be `undefined` so be sure to test any context property before using it.