diff --git a/docs/charts/radar.md b/docs/charts/radar.md
index 1b1c7ef0714..717942bd880 100644
--- a/docs/charts/radar.md
+++ b/docs/charts/radar.md
@@ -66,14 +66,14 @@ The radar chart allows a number of properties to be specified for each dataset.
| Name | Type | [Scriptable](../general/options.md#scriptable-options) | [Indexable](../general/options.md#indexable-options) | Default
| ---- | ---- | :----: | :----: | ----
-| [`backgroundColor`](#line-styling) | [`Color`](../general/colors.md) | - | - | `'rgba(0, 0, 0, 0.1)'`
-| [`borderCapStyle`](#line-styling) | `string` | - | - | `'butt'`
-| [`borderColor`](#line-styling) | [`Color`](../general/colors.md) | - | - | `'rgba(0, 0, 0, 0.1)'`
-| [`borderDash`](#line-styling) | `number[]` | - | - | `[]`
-| [`borderDashOffset`](#line-styling) | `number` | - | - | `0.0`
-| [`borderJoinStyle`](#line-styling) | `string` | - | - | `'miter'`
-| [`borderWidth`](#line-styling) | `number` | - | - | `3`
-| [`fill`](#line-styling) | boolean|string | - | - | `true`
+| [`backgroundColor`](#line-styling) | [`Color`](../general/colors.md) | Yes | - | `'rgba(0, 0, 0, 0.1)'`
+| [`borderCapStyle`](#line-styling) | `string` | Yes | - | `'butt'`
+| [`borderColor`](#line-styling) | [`Color`](../general/colors.md) | Yes | - | `'rgba(0, 0, 0, 0.1)'`
+| [`borderDash`](#line-styling) | `number[]` | Yes | - | `[]`
+| [`borderDashOffset`](#line-styling) | `number` | Yes | - | `0.0`
+| [`borderJoinStyle`](#line-styling) | `string` | Yes | - | `'miter'`
+| [`borderWidth`](#line-styling) | `number` | Yes | - | `3`
+| [`fill`](#line-styling) | boolean|string | Yes | - | `true`
| [`label`](#general) | `string` | - | - | `''`
| [`lineTension`](#line-styling) | `number` | - | - | `0.4`
| [`pointBackgroundColor`](#point-styling) | `Color` | Yes | Yes | `'rgba(0, 0, 0, 0.1)'`
diff --git a/samples/scriptable/radar.html b/samples/scriptable/radar.html
index 8b56c868245..31b13b0bbdd 100644
--- a/samples/scriptable/radar.html
+++ b/samples/scriptable/radar.html
@@ -26,14 +26,21 @@
utils.srand(110);
+ function getLineColor(ctx) {
+ return utils.color(ctx.datasetIndex);
+ }
+
function alternatePointStyles(ctx) {
var index = ctx.dataIndex;
return index % 2 === 0 ? 'circle' : 'rect';
}
function makeHalfAsOpaque(ctx) {
- var c = ctx.dataset.backgroundColor;
- return utils.transparentize(c);
+ return utils.transparentize(getLineColor(ctx));
+ }
+
+ function make20PercentOpaque(ctx) {
+ return utils.transparentize(getLineColor(ctx), 0.8);
}
function adjustRadiusBasedOnData(ctx) {
@@ -56,9 +63,7 @@
var data = {
labels: [['Eating', 'Dinner'], ['Drinking', 'Water'], 'Sleeping', ['Designing', 'Graphics'], 'Coding', 'Cycling', 'Running'],
datasets: [{
- data: generateData(),
- backgroundColor: Chart.helpers.color('#4dc9f6').alpha(0.2).rgbString(),
- borderColor: '#4dc9f6',
+ data: generateData()
}]
};
@@ -66,7 +71,12 @@
legend: false,
tooltips: true,
elements: {
+ line: {
+ backgroundColor: make20PercentOpaque,
+ borderColor: getLineColor,
+ },
point: {
+ backgroundColor: getLineColor,
hoverBackgroundColor: makeHalfAsOpaque,
radius: adjustRadiusBasedOnData,
pointStyle: alternatePointStyles,
@@ -84,12 +94,8 @@
// eslint-disable-next-line no-unused-vars
function addDataset() {
- var newColor = utils.color(chart.data.datasets.length);
-
chart.data.datasets.push({
- data: generateData(),
- backgroundColor: Chart.helpers.color(newColor).alpha(0.2).rgbString(),
- borderColor: newColor
+ data: generateData()
});
chart.update();
}
diff --git a/test/fixtures/controller.radar/backgroundColor/scriptable.js b/test/fixtures/controller.radar/backgroundColor/scriptable.js
index cf2a074e5c7..4c714a45120 100644
--- a/test/fixtures/controller.radar/backgroundColor/scriptable.js
+++ b/test/fixtures/controller.radar/backgroundColor/scriptable.js
@@ -7,17 +7,16 @@ module.exports = {
{
// option in dataset
data: [0, 5, 10, null, -10, -5],
- pointBackgroundColor: function(ctx) {
- var value = ctx.dataset.data[ctx.dataIndex] || 0;
- return value > 8 ? '#ff0000'
- : value > 0 ? '#00ff00'
- : value > -8 ? '#0000ff'
+ backgroundColor: function(ctx) {
+ var index = (ctx.dataIndex === undefined ? ctx.datasetIndex : ctx.dataIndex);
+ return index === 0 ? '#ff0000'
+ : index === 1 ? '#00ff00'
: '#ff00ff';
}
},
{
// option in element (fallback)
- data: [4, -5, -10, null, 10, 5],
+ data: [4, -5, -10, null, 10, 5]
}
]
},
@@ -26,17 +25,16 @@ module.exports = {
title: false,
elements: {
line: {
- fill: false,
+ backgroundColor: function(ctx) {
+ var index = (ctx.dataIndex === undefined ? ctx.datasetIndex : ctx.dataIndex);
+ return index === 0 ? '#ff0000'
+ : index === 1 ? '#00ff00'
+ : '#ff00ff';
+ }
},
point: {
- backgroundColor: function(ctx) {
- var value = ctx.dataset.data[ctx.dataIndex] || 0;
- return value > 8 ? '#ff00ff'
- : value > 0 ? '#0000ff'
- : value > -8 ? '#ff0000'
- : '#00ff00';
- },
- radius: 10,
+ backgroundColor: '#0000ff',
+ radius: 10
}
},
scale: {
diff --git a/test/fixtures/controller.radar/backgroundColor/scriptable.png b/test/fixtures/controller.radar/backgroundColor/scriptable.png
index e82a84f6526..90b4a4d27a1 100644
Binary files a/test/fixtures/controller.radar/backgroundColor/scriptable.png and b/test/fixtures/controller.radar/backgroundColor/scriptable.png differ
diff --git a/test/fixtures/controller.radar/backgroundColor/value.js b/test/fixtures/controller.radar/backgroundColor/value.js
index 0a592c61595..d9347ee5d73 100644
--- a/test/fixtures/controller.radar/backgroundColor/value.js
+++ b/test/fixtures/controller.radar/backgroundColor/value.js
@@ -7,11 +7,11 @@ module.exports = {
{
// option in dataset
data: [0, 5, 10, null, -10, -5],
- pointBackgroundColor: '#ff0000'
+ backgroundColor: '#ff0000'
},
{
// option in element (fallback)
- data: [4, -5, -10, null, 10, 5],
+ data: [4, -5, -10, null, 10, 5]
}
]
},
@@ -20,11 +20,10 @@ module.exports = {
title: false,
elements: {
line: {
- fill: false,
+ backgroundColor: '#00ff00'
},
point: {
- backgroundColor: '#00ff00',
- radius: 10,
+ radius: 10
}
},
scale: {
diff --git a/test/fixtures/controller.radar/backgroundColor/value.png b/test/fixtures/controller.radar/backgroundColor/value.png
index da08c0e442c..de5cec78ddd 100644
Binary files a/test/fixtures/controller.radar/backgroundColor/value.png and b/test/fixtures/controller.radar/backgroundColor/value.png differ
diff --git a/test/fixtures/controller.radar/borderCapStyle/scriptable.js b/test/fixtures/controller.radar/borderCapStyle/scriptable.js
new file mode 100644
index 00000000000..128bf6e7001
--- /dev/null
+++ b/test/fixtures/controller.radar/borderCapStyle/scriptable.js
@@ -0,0 +1,63 @@
+module.exports = {
+ config: {
+ type: 'radar',
+ data: {
+ labels: [0, 1, 2],
+ datasets: [
+ {
+ // option in dataset
+ data: [null, 3, 3],
+ borderCapStyle: function(ctx) {
+ var index = (ctx.datasetIndex % 2);
+ return index === 0 ? 'round'
+ : index === 1 ? 'square'
+ : 'butt';
+ }
+ },
+ {
+ // option in element (fallback)
+ data: [null, 2, 2]
+ },
+ {
+ // option in element (fallback)
+ data: [null, 1, 1]
+ }
+ ]
+ },
+ options: {
+ legend: false,
+ title: false,
+ elements: {
+ line: {
+ borderCapStyle: function(ctx) {
+ var index = (ctx.datasetIndex % 3);
+ return index === 0 ? 'round'
+ : index === 1 ? 'square'
+ : 'butt';
+ },
+ borderColor: '#ff0000',
+ borderWidth: 32,
+ fill: false
+ },
+ point: {
+ radius: 10
+ }
+ },
+ layout: {
+ padding: 32
+ },
+ scale: {
+ display: false,
+ ticks: {
+ beginAtZero: true
+ }
+ }
+ }
+ },
+ options: {
+ canvas: {
+ height: 512,
+ width: 512
+ }
+ }
+};
diff --git a/test/fixtures/controller.radar/borderCapStyle/scriptable.png b/test/fixtures/controller.radar/borderCapStyle/scriptable.png
new file mode 100644
index 00000000000..0be3c6212a0
Binary files /dev/null and b/test/fixtures/controller.radar/borderCapStyle/scriptable.png differ
diff --git a/test/fixtures/controller.radar/borderCapStyle/value.js b/test/fixtures/controller.radar/borderCapStyle/value.js
new file mode 100644
index 00000000000..ad6aa1fedc1
--- /dev/null
+++ b/test/fixtures/controller.radar/borderCapStyle/value.js
@@ -0,0 +1,54 @@
+module.exports = {
+ config: {
+ type: 'radar',
+ data: {
+ labels: [0, 1, 2],
+ datasets: [
+ {
+ // option in dataset
+ data: [null, 3, 3],
+ borderCapStyle: 'round'
+ },
+ {
+ // option in dataset
+ data: [null, 2, 2],
+ borderCapStyle: 'square'
+ },
+ {
+ // option in element (fallback)
+ data: [null, 1, 1]
+ }
+ ]
+ },
+ options: {
+ legend: false,
+ title: false,
+ elements: {
+ line: {
+ borderCapStyle: 'butt',
+ borderColor: '#00ff00',
+ borderWidth: 32,
+ fill: false
+ },
+ point: {
+ radius: 10
+ }
+ },
+ layout: {
+ padding: 32
+ },
+ scale: {
+ display: false,
+ ticks: {
+ beginAtZero: true
+ }
+ }
+ }
+ },
+ options: {
+ canvas: {
+ height: 512,
+ width: 512
+ }
+ }
+};
diff --git a/test/fixtures/controller.radar/borderCapStyle/value.png b/test/fixtures/controller.radar/borderCapStyle/value.png
new file mode 100644
index 00000000000..9e297d67b42
Binary files /dev/null and b/test/fixtures/controller.radar/borderCapStyle/value.png differ
diff --git a/test/fixtures/controller.radar/borderColor/indexable.png b/test/fixtures/controller.radar/borderColor/indexable.png
deleted file mode 100644
index e4477851c63..00000000000
Binary files a/test/fixtures/controller.radar/borderColor/indexable.png and /dev/null differ
diff --git a/test/fixtures/controller.radar/borderColor/scriptable.js b/test/fixtures/controller.radar/borderColor/scriptable.js
index e0545231a5d..e4b59c58086 100644
--- a/test/fixtures/controller.radar/borderColor/scriptable.js
+++ b/test/fixtures/controller.radar/borderColor/scriptable.js
@@ -7,12 +7,11 @@ module.exports = {
{
// option in dataset
data: [0, 5, 10, null, -10, -5],
- pointBorderColor: function(ctx) {
- var value = ctx.dataset.data[ctx.dataIndex] || 0;
- return value > 8 ? '#ff0000'
- : value > 0 ? '#00ff00'
- : value > -8 ? '#0000ff'
- : '#ff00ff';
+ borderColor: function(ctx) {
+ var index = (ctx.dataIndex === undefined ? ctx.datasetIndex : ctx.dataIndex);
+ return index === 0 ? '#ff0000'
+ : index === 1 ? '#00ff00'
+ : '#0000ff';
}
},
{
@@ -26,17 +25,19 @@ module.exports = {
title: false,
elements: {
line: {
- fill: false,
- },
- point: {
borderColor: function(ctx) {
- var value = ctx.dataset.data[ctx.dataIndex] || 0;
- return value > 8 ? '#ff00ff'
- : value > 0 ? '#0000ff'
- : value > -8 ? '#ff0000'
- : '#00ff00';
+ var index = (ctx.dataIndex === undefined ? ctx.datasetIndex : ctx.dataIndex);
+ return index === 0 ? '#ff0000'
+ : index === 1 ? '#00ff00'
+ : '#0000ff';
},
- radius: 10,
+ borderWidth: 10,
+ fill: false
+ },
+ point: {
+ borderColor: '#ff0000',
+ borderWidth: 10,
+ radius: 16
}
},
scale: {
diff --git a/test/fixtures/controller.radar/borderColor/scriptable.png b/test/fixtures/controller.radar/borderColor/scriptable.png
index 4a1c1e77068..58023c1bd93 100644
Binary files a/test/fixtures/controller.radar/borderColor/scriptable.png and b/test/fixtures/controller.radar/borderColor/scriptable.png differ
diff --git a/test/fixtures/controller.radar/borderColor/value.js b/test/fixtures/controller.radar/borderColor/value.js
index 0ff69e08b87..c70ac64363f 100644
--- a/test/fixtures/controller.radar/borderColor/value.js
+++ b/test/fixtures/controller.radar/borderColor/value.js
@@ -7,11 +7,11 @@ module.exports = {
{
// option in dataset
data: [0, 5, 10, null, -10, -5],
- pointBorderColor: '#ff0000'
+ borderColor: '#ff0000'
},
{
// option in element (fallback)
- data: [4, -5, -10, null, 10, 5],
+ data: [4, -5, -10, null, 10, 5]
}
]
},
@@ -20,11 +20,12 @@ module.exports = {
title: false,
elements: {
line: {
- fill: false,
+ borderColor: '#0000ff',
+ fill: false
},
point: {
- borderColor: '#00ff00',
- radius: 10,
+ borderColor: '#0000ff',
+ radius: 10
}
},
scale: {
diff --git a/test/fixtures/controller.radar/borderColor/value.png b/test/fixtures/controller.radar/borderColor/value.png
index 486d1009dc5..9f421eec051 100644
Binary files a/test/fixtures/controller.radar/borderColor/value.png and b/test/fixtures/controller.radar/borderColor/value.png differ
diff --git a/test/fixtures/controller.radar/borderDash/scriptable.js b/test/fixtures/controller.radar/borderDash/scriptable.js
new file mode 100644
index 00000000000..0bee9a8a669
--- /dev/null
+++ b/test/fixtures/controller.radar/borderDash/scriptable.js
@@ -0,0 +1,48 @@
+module.exports = {
+ config: {
+ type: 'radar',
+ data: {
+ labels: [0, 1, 2, 3, 4, 5],
+ datasets: [
+ {
+ // option in dataset
+ data: [0, 5, 10, null, -10, -5],
+ borderDash: function(ctx) {
+ return ctx.datasetIndex === 0 ? [5] : [10];
+ }
+ },
+ {
+ // option in element (fallback)
+ data: [4, -5, -10, null, 10, 5]
+ }
+ ]
+ },
+ options: {
+ legend: false,
+ title: false,
+ elements: {
+ line: {
+ borderColor: '#00ff00',
+ borderDash: function(ctx) {
+ return ctx.datasetIndex === 0 ? [5] : [10];
+ }
+ },
+ point: {
+ radius: 10
+ }
+ },
+ scale: {
+ display: false,
+ ticks: {
+ min: -15
+ }
+ }
+ }
+ },
+ options: {
+ canvas: {
+ height: 512,
+ width: 512
+ }
+ }
+};
diff --git a/test/fixtures/controller.radar/borderDash/scriptable.png b/test/fixtures/controller.radar/borderDash/scriptable.png
new file mode 100644
index 00000000000..bd4855832dc
Binary files /dev/null and b/test/fixtures/controller.radar/borderDash/scriptable.png differ
diff --git a/test/fixtures/controller.radar/borderDash/value.js b/test/fixtures/controller.radar/borderDash/value.js
new file mode 100644
index 00000000000..a5e7ee83373
--- /dev/null
+++ b/test/fixtures/controller.radar/borderDash/value.js
@@ -0,0 +1,46 @@
+module.exports = {
+ config: {
+ type: 'radar',
+ data: {
+ labels: [0, 1, 2, 3, 4, 5],
+ datasets: [
+ {
+ // option in dataset
+ data: [0, 5, 10, null, -10, -5],
+ borderColor: '#ff0000',
+ borderDash: [5]
+ },
+ {
+ // option in element (fallback)
+ data: [4, -5, -10, null, 10, 5]
+ }
+ ]
+ },
+ options: {
+ legend: false,
+ title: false,
+ elements: {
+ line: {
+ borderColor: '#00ff00',
+ borderDash: [10],
+ fill: false
+ },
+ point: {
+ radius: 10
+ }
+ },
+ scale: {
+ display: false,
+ ticks: {
+ min: -15
+ }
+ }
+ }
+ },
+ options: {
+ canvas: {
+ height: 512,
+ width: 512
+ }
+ }
+};
diff --git a/test/fixtures/controller.radar/borderDash/value.png b/test/fixtures/controller.radar/borderDash/value.png
new file mode 100644
index 00000000000..2eef0726c55
Binary files /dev/null and b/test/fixtures/controller.radar/borderDash/value.png differ
diff --git a/test/fixtures/controller.radar/borderDashOffset/scriptable.js b/test/fixtures/controller.radar/borderDashOffset/scriptable.js
new file mode 100644
index 00000000000..90cca36fedb
--- /dev/null
+++ b/test/fixtures/controller.radar/borderDashOffset/scriptable.js
@@ -0,0 +1,55 @@
+module.exports = {
+ config: {
+ type: 'radar',
+ data: {
+ labels: [0, 1, 2, 3],
+ datasets: [
+ {
+ // option in dataset
+ data: [1, 1, 1, 1],
+ borderColor: '#ff0000',
+ borderDash: [20],
+ borderDashOffset: function(ctx) {
+ return ctx.datasetIndex === 0 ? 5.0 : 0.0;
+ }
+ },
+ {
+ // option in element (fallback)
+ data: [0, 0, 0, 0]
+ }
+ ]
+ },
+ options: {
+ legend: false,
+ title: false,
+ elements: {
+ line: {
+ borderColor: '#00ff00',
+ borderDash: [20],
+ borderDashOffset: function(ctx) {
+ return ctx.datasetIndex === 0 ? 5.0 : 0.0;
+ },
+ fill: false
+ },
+ point: {
+ radius: 10
+ }
+ },
+ layout: {
+ padding: 32
+ },
+ scale: {
+ display: false,
+ ticks: {
+ min: -1
+ }
+ }
+ }
+ },
+ options: {
+ canvas: {
+ height: 512,
+ width: 512
+ }
+ }
+};
diff --git a/test/fixtures/controller.radar/borderDashOffset/scriptable.png b/test/fixtures/controller.radar/borderDashOffset/scriptable.png
new file mode 100644
index 00000000000..28557b2c0c8
Binary files /dev/null and b/test/fixtures/controller.radar/borderDashOffset/scriptable.png differ
diff --git a/test/fixtures/controller.radar/borderDashOffset/value.js b/test/fixtures/controller.radar/borderDashOffset/value.js
new file mode 100644
index 00000000000..f96d4cd1372
--- /dev/null
+++ b/test/fixtures/controller.radar/borderDashOffset/value.js
@@ -0,0 +1,51 @@
+module.exports = {
+ config: {
+ type: 'radar',
+ data: {
+ labels: [0, 1, 2, 3, 4, 5],
+ datasets: [
+ {
+ // option in dataset
+ data: [1, 1, 1, 1, 1, 1],
+ borderColor: '#ff0000',
+ borderDash: [20],
+ borderDashOffset: 5.0
+ },
+ {
+ // option in element (fallback)
+ data: [0, 0, 0, 0, 0, 0]
+ }
+ ]
+ },
+ options: {
+ legend: false,
+ title: false,
+ elements: {
+ line: {
+ borderColor: '#00ff00',
+ borderDash: [20],
+ borderDashOffset: 0.0, // default
+ fill: false
+ },
+ point: {
+ radius: 10
+ }
+ },
+ layout: {
+ padding: 32
+ },
+ scale: {
+ display: false,
+ ticks: {
+ min: -1
+ }
+ }
+ }
+ },
+ options: {
+ canvas: {
+ height: 512,
+ width: 512
+ }
+ }
+};
diff --git a/test/fixtures/controller.radar/borderDashOffset/value.png b/test/fixtures/controller.radar/borderDashOffset/value.png
new file mode 100644
index 00000000000..fb9eb723f8c
Binary files /dev/null and b/test/fixtures/controller.radar/borderDashOffset/value.png differ
diff --git a/test/fixtures/controller.radar/borderJoinStyle/scriptable.js b/test/fixtures/controller.radar/borderJoinStyle/scriptable.js
new file mode 100644
index 00000000000..ff33d60dacc
--- /dev/null
+++ b/test/fixtures/controller.radar/borderJoinStyle/scriptable.js
@@ -0,0 +1,63 @@
+module.exports = {
+ config: {
+ type: 'radar',
+ data: {
+ labels: [0, 1, 2, 3],
+ datasets: [
+ {
+ // option in dataset
+ data: [3, 3, null, 3],
+ borderColor: '#ff0000',
+ borderJoinStyle: function(ctx) {
+ var index = ctx.datasetIndex % 3;
+ return index === 0 ? 'round'
+ : index === 1 ? 'miter'
+ : 'bevel';
+ }
+ },
+ {
+ // option in element (fallback)
+ data: [2, 2, null, 2],
+ borderColor: '#0000ff'
+ },
+ {
+ // option in element (fallback)
+ data: [1, 1, null, 1]
+ }
+ ]
+ },
+ options: {
+ legend: false,
+ title: false,
+ elements: {
+ line: {
+ borderColor: '#00ff00',
+ borderJoinStyle: function(ctx) {
+ var index = (ctx.datasetIndex % 3);
+ return index === 0 ? 'round'
+ : index === 1 ? 'miter'
+ : 'bevel';
+ },
+ borderWidth: 25,
+ fill: false,
+ tension: 0
+ }
+ },
+ layout: {
+ padding: 32
+ },
+ scale: {
+ display: false,
+ ticks: {
+ beginAtZero: true
+ }
+ }
+ }
+ },
+ options: {
+ canvas: {
+ height: 512,
+ width: 512
+ }
+ }
+};
diff --git a/test/fixtures/controller.radar/borderJoinStyle/scriptable.png b/test/fixtures/controller.radar/borderJoinStyle/scriptable.png
new file mode 100644
index 00000000000..9b2248bb2fe
Binary files /dev/null and b/test/fixtures/controller.radar/borderJoinStyle/scriptable.png differ
diff --git a/test/fixtures/controller.radar/borderJoinStyle/value.js b/test/fixtures/controller.radar/borderJoinStyle/value.js
new file mode 100644
index 00000000000..04a6beb66f1
--- /dev/null
+++ b/test/fixtures/controller.radar/borderJoinStyle/value.js
@@ -0,0 +1,54 @@
+module.exports = {
+ config: {
+ type: 'radar',
+ data: {
+ labels: [0, 1, 2, 3],
+ datasets: [
+ {
+ // option in dataset
+ data: [3, 3, null, 3],
+ borderColor: '#ff0000',
+ borderJoinStyle: 'round'
+ },
+ {
+ // option in element (fallback)
+ data: [2, 2, null, 2],
+ borderColor: '#0000ff',
+ borderJoinStyle: 'bevel'
+ },
+ {
+ // option in element (fallback)
+ data: [1, 1, null, 1]
+ }
+ ]
+ },
+ options: {
+ legend: false,
+ title: false,
+ elements: {
+ line: {
+ borderColor: '#00ff00',
+ borderJoinStyle: 'miter',
+ borderWidth: 25,
+ fill: false,
+ tension: 0
+ }
+ },
+ layout: {
+ padding: 32
+ },
+ scale: {
+ display: false,
+ ticks: {
+ beginAtZero: true
+ }
+ }
+ }
+ },
+ options: {
+ canvas: {
+ height: 512,
+ width: 512
+ }
+ }
+};
diff --git a/test/fixtures/controller.radar/borderJoinStyle/value.png b/test/fixtures/controller.radar/borderJoinStyle/value.png
new file mode 100644
index 00000000000..757d05190ed
Binary files /dev/null and b/test/fixtures/controller.radar/borderJoinStyle/value.png differ
diff --git a/test/fixtures/controller.radar/borderWidth/scriptable.js b/test/fixtures/controller.radar/borderWidth/scriptable.js
index 8d321b5fcad..d2399d798cc 100644
--- a/test/fixtures/controller.radar/borderWidth/scriptable.js
+++ b/test/fixtures/controller.radar/borderWidth/scriptable.js
@@ -7,17 +7,16 @@ module.exports = {
{
// option in dataset
data: [0, 5, 10, null, -10, -5],
- pointBorderColor: '#0000ff',
- pointBorderWidth: function(ctx) {
- var value = ctx.dataset.data[ctx.dataIndex] || 0;
- return value > 4 ? 10
- : value > -4 ? 5
- : 2;
- }
+ borderColor: '#0000ff',
+ borderWidth: function(ctx) {
+ var index = (ctx.dataIndex === undefined ? ctx.datasetIndex : ctx.dataIndex);
+ return index % 2 ? 10 : 20;
+ },
+ pointBorderColor: '#00ff00'
},
{
// option in element (fallback)
- data: [4, -5, -10, null, 10, 5],
+ data: [4, -5, -10, null, 10, 5]
}
]
},
@@ -26,17 +25,17 @@ module.exports = {
title: false,
elements: {
line: {
- fill: false,
- },
- point: {
borderColor: '#ff0000',
borderWidth: function(ctx) {
- var value = ctx.dataset.data[ctx.dataIndex] || 0;
- return value > 4 ? 2
- : value > -4 ? 5
- : 10;
+ var index = (ctx.dataIndex === undefined ? ctx.datasetIndex : ctx.dataIndex);
+ return index % 2 ? 10 : 20;
},
- radius: 10,
+ fill: false
+ },
+ point: {
+ borderColor: '#00ff00',
+ borderWidth: 5,
+ radius: 10
}
},
scale: {
diff --git a/test/fixtures/controller.radar/borderWidth/scriptable.png b/test/fixtures/controller.radar/borderWidth/scriptable.png
index 16bbfa5613e..de84a830b56 100644
Binary files a/test/fixtures/controller.radar/borderWidth/scriptable.png and b/test/fixtures/controller.radar/borderWidth/scriptable.png differ
diff --git a/test/fixtures/controller.radar/borderWidth/value.js b/test/fixtures/controller.radar/borderWidth/value.js
index 8c59eccfd2a..521cbf076c8 100644
--- a/test/fixtures/controller.radar/borderWidth/value.js
+++ b/test/fixtures/controller.radar/borderWidth/value.js
@@ -7,12 +7,12 @@ module.exports = {
{
// option in dataset
data: [0, 5, 10, null, -10, -5],
- pointBorderColor: '#0000ff',
- pointBorderWidth: 6
+ borderColor: '#0000ff',
+ borderWidth: 6
},
{
// option in element (fallback)
- data: [4, -5, -10, null, 10, 5],
+ data: [4, -5, -10, null, 10, 5]
}
]
},
@@ -21,12 +21,12 @@ module.exports = {
title: false,
elements: {
line: {
- fill: false,
- },
- point: {
borderColor: '#00ff00',
borderWidth: 3,
- radius: 10,
+ fill: false
+ },
+ point: {
+ radius: 10
}
},
scale: {
diff --git a/test/fixtures/controller.radar/borderWidth/value.png b/test/fixtures/controller.radar/borderWidth/value.png
index 870b2a9431c..3254d2f2334 100644
Binary files a/test/fixtures/controller.radar/borderWidth/value.png and b/test/fixtures/controller.radar/borderWidth/value.png differ
diff --git a/test/fixtures/controller.radar/fill/scriptable.js b/test/fixtures/controller.radar/fill/scriptable.js
new file mode 100644
index 00000000000..3706bbff150
--- /dev/null
+++ b/test/fixtures/controller.radar/fill/scriptable.js
@@ -0,0 +1,46 @@
+module.exports = {
+ config: {
+ type: 'radar',
+ data: {
+ labels: [0, 1, 2, 3, 4, 5],
+ datasets: [
+ {
+ // option in dataset
+ data: [0, 5, 10, null, -10, -5],
+ backgroundColor: '#ff0000',
+ fill: function(ctx) {
+ return ctx.datasetIndex === 0 ? true : false;
+ }
+ },
+ {
+ // option in element (fallback)
+ data: [4, -5, -10, null, 10, 5]
+ }
+ ]
+ },
+ options: {
+ legend: false,
+ title: false,
+ elements: {
+ line: {
+ backgroundColor: '#00ff00',
+ fill: function(ctx) {
+ return ctx.datasetIndex === 0 ? true : false;
+ }
+ }
+ },
+ scale: {
+ display: false,
+ ticks: {
+ min: -15
+ }
+ }
+ }
+ },
+ options: {
+ canvas: {
+ height: 512,
+ width: 512
+ }
+ }
+};
diff --git a/test/fixtures/controller.radar/fill/scriptable.png b/test/fixtures/controller.radar/fill/scriptable.png
new file mode 100644
index 00000000000..c0a0d5ca33a
Binary files /dev/null and b/test/fixtures/controller.radar/fill/scriptable.png differ
diff --git a/test/fixtures/controller.radar/fill/value.js b/test/fixtures/controller.radar/fill/value.js
new file mode 100644
index 00000000000..4db74dad12e
--- /dev/null
+++ b/test/fixtures/controller.radar/fill/value.js
@@ -0,0 +1,42 @@
+module.exports = {
+ config: {
+ type: 'radar',
+ data: {
+ labels: [0, 1, 2, 3, 4, 5],
+ datasets: [
+ {
+ // option in dataset
+ data: [0, 5, 10, null, -10, -5],
+ backgroundColor: '#ff0000',
+ fill: false
+ },
+ {
+ // option in element (fallback)
+ data: [4, -5, -10, null, 10, 5]
+ }
+ ]
+ },
+ options: {
+ legend: false,
+ title: false,
+ elements: {
+ line: {
+ backgroundColor: '#00ff00',
+ fill: true
+ }
+ },
+ scale: {
+ display: false,
+ ticks: {
+ min: -15
+ }
+ }
+ }
+ },
+ options: {
+ canvas: {
+ height: 512,
+ width: 512
+ }
+ }
+};
diff --git a/test/fixtures/controller.radar/fill/value.png b/test/fixtures/controller.radar/fill/value.png
new file mode 100644
index 00000000000..daae5932aab
Binary files /dev/null and b/test/fixtures/controller.radar/fill/value.png differ
diff --git a/test/fixtures/controller.radar/backgroundColor/indexable.js b/test/fixtures/controller.radar/pointBackgroundColor/indexable.js
similarity index 93%
rename from test/fixtures/controller.radar/backgroundColor/indexable.js
rename to test/fixtures/controller.radar/pointBackgroundColor/indexable.js
index cd59ce44a13..10148e65e02 100644
--- a/test/fixtures/controller.radar/backgroundColor/indexable.js
+++ b/test/fixtures/controller.radar/pointBackgroundColor/indexable.js
@@ -18,7 +18,7 @@ module.exports = {
},
{
// option in element (fallback)
- data: [4, -5, -10, null, 10, 5],
+ data: [4, -5, -10, null, 10, 5]
}
]
},
@@ -27,7 +27,7 @@ module.exports = {
title: false,
elements: {
line: {
- fill: false,
+ fill: false
},
point: {
backgroundColor: [
diff --git a/test/fixtures/controller.radar/backgroundColor/indexable.png b/test/fixtures/controller.radar/pointBackgroundColor/indexable.png
similarity index 100%
rename from test/fixtures/controller.radar/backgroundColor/indexable.png
rename to test/fixtures/controller.radar/pointBackgroundColor/indexable.png
diff --git a/test/fixtures/controller.radar/pointBackgroundColor/scriptable.js b/test/fixtures/controller.radar/pointBackgroundColor/scriptable.js
new file mode 100644
index 00000000000..07e1b129cf3
--- /dev/null
+++ b/test/fixtures/controller.radar/pointBackgroundColor/scriptable.js
@@ -0,0 +1,56 @@
+module.exports = {
+ config: {
+ type: 'radar',
+ data: {
+ labels: [0, 1, 2, 3, 4, 5],
+ datasets: [
+ {
+ // option in dataset
+ data: [0, 5, 10, null, -10, -5],
+ pointBackgroundColor: function(ctx) {
+ var value = ctx.dataset.data[ctx.dataIndex] || 0;
+ return value > 8 ? '#ff0000'
+ : value > 0 ? '#00ff00'
+ : value > -8 ? '#0000ff'
+ : '#ff00ff';
+ }
+ },
+ {
+ // option in element (fallback)
+ data: [4, -5, -10, null, 10, 5]
+ }
+ ]
+ },
+ options: {
+ legend: false,
+ title: false,
+ elements: {
+ line: {
+ fill: false
+ },
+ point: {
+ backgroundColor: function(ctx) {
+ var value = ctx.dataset.data[ctx.dataIndex] || 0;
+ return value > 8 ? '#ff00ff'
+ : value > 0 ? '#0000ff'
+ : value > -8 ? '#ff0000'
+ : '#00ff00';
+ },
+ radius: 10
+ }
+ },
+ scale: {
+ display: false,
+ ticks: {
+ min: -15
+ }
+ }
+ }
+ },
+ options: {
+ canvas: {
+ height: 512,
+ width: 512
+ }
+ }
+};
diff --git a/test/fixtures/controller.radar/pointBackgroundColor/scriptable.png b/test/fixtures/controller.radar/pointBackgroundColor/scriptable.png
new file mode 100644
index 00000000000..56c78b6059f
Binary files /dev/null and b/test/fixtures/controller.radar/pointBackgroundColor/scriptable.png differ
diff --git a/test/fixtures/controller.radar/pointBackgroundColor/value.js b/test/fixtures/controller.radar/pointBackgroundColor/value.js
new file mode 100644
index 00000000000..20af577ced1
--- /dev/null
+++ b/test/fixtures/controller.radar/pointBackgroundColor/value.js
@@ -0,0 +1,44 @@
+module.exports = {
+ config: {
+ type: 'radar',
+ data: {
+ labels: [0, 1, 2, 3, 4, 5],
+ datasets: [
+ {
+ // option in dataset
+ data: [0, 5, 10, null, -10, -5],
+ pointBackgroundColor: '#ff0000'
+ },
+ {
+ // option in element (fallback)
+ data: [4, -5, -10, null, 10, 5]
+ }
+ ]
+ },
+ options: {
+ legend: false,
+ title: false,
+ elements: {
+ line: {
+ fill: false
+ },
+ point: {
+ backgroundColor: '#00ff00',
+ radius: 10
+ }
+ },
+ scale: {
+ display: false,
+ ticks: {
+ min: -15
+ }
+ }
+ }
+ },
+ options: {
+ canvas: {
+ height: 512,
+ width: 512
+ }
+ }
+};
diff --git a/test/fixtures/controller.radar/pointBackgroundColor/value.png b/test/fixtures/controller.radar/pointBackgroundColor/value.png
new file mode 100644
index 00000000000..0f681424a09
Binary files /dev/null and b/test/fixtures/controller.radar/pointBackgroundColor/value.png differ
diff --git a/test/fixtures/controller.radar/borderColor/indexable.js b/test/fixtures/controller.radar/pointBorderColor/indexable.js
similarity index 91%
rename from test/fixtures/controller.radar/borderColor/indexable.js
rename to test/fixtures/controller.radar/pointBorderColor/indexable.js
index 11297f2dbfc..f7e0626d65b 100644
--- a/test/fixtures/controller.radar/borderColor/indexable.js
+++ b/test/fixtures/controller.radar/pointBorderColor/indexable.js
@@ -18,7 +18,7 @@ module.exports = {
},
{
// option in element (fallback)
- data: [4, -5, -10, null, 10, 5],
+ data: [4, -5, -10, null, 10, 5]
}
]
},
@@ -27,7 +27,7 @@ module.exports = {
title: false,
elements: {
line: {
- fill: false,
+ fill: false
},
point: {
borderColor: [
@@ -38,6 +38,7 @@ module.exports = {
'#8800ff',
'#ffff88'
],
+ borderWidth: 5,
radius: 10
}
},
diff --git a/test/fixtures/controller.radar/pointBorderColor/indexable.png b/test/fixtures/controller.radar/pointBorderColor/indexable.png
new file mode 100644
index 00000000000..309cb1cdab2
Binary files /dev/null and b/test/fixtures/controller.radar/pointBorderColor/indexable.png differ
diff --git a/test/fixtures/controller.radar/pointBorderColor/scriptable.js b/test/fixtures/controller.radar/pointBorderColor/scriptable.js
new file mode 100644
index 00000000000..d9678c311ce
--- /dev/null
+++ b/test/fixtures/controller.radar/pointBorderColor/scriptable.js
@@ -0,0 +1,57 @@
+module.exports = {
+ config: {
+ type: 'radar',
+ data: {
+ labels: [0, 1, 2, 3, 4, 5],
+ datasets: [
+ {
+ // option in dataset
+ data: [0, 5, 10, null, -10, -5],
+ pointBorderColor: function(ctx) {
+ var value = ctx.dataset.data[ctx.dataIndex] || 0;
+ return value > 8 ? '#ff0000'
+ : value > 0 ? '#00ff00'
+ : value > -8 ? '#0000ff'
+ : '#ff00ff';
+ }
+ },
+ {
+ // option in element (fallback)
+ data: [4, -5, -10, null, 10, 5]
+ }
+ ]
+ },
+ options: {
+ legend: false,
+ title: false,
+ elements: {
+ line: {
+ fill: false
+ },
+ point: {
+ borderColor: function(ctx) {
+ var value = ctx.dataset.data[ctx.dataIndex] || 0;
+ return value > 8 ? '#ff00ff'
+ : value > 0 ? '#0000ff'
+ : value > -8 ? '#ff0000'
+ : '#00ff00';
+ },
+ borderWidth: 5,
+ radius: 10
+ }
+ },
+ scale: {
+ display: false,
+ ticks: {
+ min: -15
+ }
+ }
+ }
+ },
+ options: {
+ canvas: {
+ height: 512,
+ width: 512
+ }
+ }
+};
diff --git a/test/fixtures/controller.radar/pointBorderColor/scriptable.png b/test/fixtures/controller.radar/pointBorderColor/scriptable.png
new file mode 100644
index 00000000000..de47d1b48a7
Binary files /dev/null and b/test/fixtures/controller.radar/pointBorderColor/scriptable.png differ
diff --git a/test/fixtures/controller.radar/pointBorderColor/value.js b/test/fixtures/controller.radar/pointBorderColor/value.js
new file mode 100644
index 00000000000..d639e2816fd
--- /dev/null
+++ b/test/fixtures/controller.radar/pointBorderColor/value.js
@@ -0,0 +1,45 @@
+module.exports = {
+ config: {
+ type: 'radar',
+ data: {
+ labels: [0, 1, 2, 3, 4, 5],
+ datasets: [
+ {
+ // option in dataset
+ data: [0, 5, 10, null, -10, -5],
+ pointBorderColor: '#ff0000'
+ },
+ {
+ // option in element (fallback)
+ data: [4, -5, -10, null, 10, 5]
+ }
+ ]
+ },
+ options: {
+ legend: false,
+ title: false,
+ elements: {
+ line: {
+ fill: false
+ },
+ point: {
+ borderColor: '#00ff00',
+ borderWidth: 5,
+ radius: 10
+ }
+ },
+ scale: {
+ display: false,
+ ticks: {
+ min: -15
+ }
+ }
+ }
+ },
+ options: {
+ canvas: {
+ height: 512,
+ width: 512
+ }
+ }
+};
diff --git a/test/fixtures/controller.radar/pointBorderColor/value.png b/test/fixtures/controller.radar/pointBorderColor/value.png
new file mode 100644
index 00000000000..537e49fc9a1
Binary files /dev/null and b/test/fixtures/controller.radar/pointBorderColor/value.png differ
diff --git a/test/fixtures/controller.radar/borderWidth/indexable.js b/test/fixtures/controller.radar/pointBorderWidth/indexable.js
similarity index 92%
rename from test/fixtures/controller.radar/borderWidth/indexable.js
rename to test/fixtures/controller.radar/pointBorderWidth/indexable.js
index 262d9d56d87..1e60832e646 100644
--- a/test/fixtures/controller.radar/borderWidth/indexable.js
+++ b/test/fixtures/controller.radar/pointBorderWidth/indexable.js
@@ -14,7 +14,7 @@ module.exports = {
},
{
// option in element (fallback)
- data: [4, -5, -10, null, 10, 5],
+ data: [4, -5, -10, null, 10, 5]
}
]
},
@@ -23,7 +23,7 @@ module.exports = {
title: false,
elements: {
line: {
- fill: false,
+ fill: false
},
point: {
borderColor: '#ff0000',
diff --git a/test/fixtures/controller.radar/borderWidth/indexable.png b/test/fixtures/controller.radar/pointBorderWidth/indexable.png
similarity index 100%
rename from test/fixtures/controller.radar/borderWidth/indexable.png
rename to test/fixtures/controller.radar/pointBorderWidth/indexable.png
diff --git a/test/fixtures/controller.radar/pointBorderWidth/scriptable.js b/test/fixtures/controller.radar/pointBorderWidth/scriptable.js
new file mode 100644
index 00000000000..94ea514ca70
--- /dev/null
+++ b/test/fixtures/controller.radar/pointBorderWidth/scriptable.js
@@ -0,0 +1,56 @@
+module.exports = {
+ config: {
+ type: 'radar',
+ data: {
+ labels: [0, 1, 2, 3, 4, 5],
+ datasets: [
+ {
+ // option in dataset
+ data: [0, 5, 10, null, -10, -5],
+ pointBorderColor: '#0000ff',
+ pointBorderWidth: function(ctx) {
+ var value = ctx.dataset.data[ctx.dataIndex] || 0;
+ return value > 4 ? 10
+ : value > -4 ? 5
+ : 2;
+ }
+ },
+ {
+ // option in element (fallback)
+ data: [4, -5, -10, null, 10, 5]
+ }
+ ]
+ },
+ options: {
+ legend: false,
+ title: false,
+ elements: {
+ line: {
+ fill: false
+ },
+ point: {
+ borderColor: '#ff0000',
+ borderWidth: function(ctx) {
+ var value = ctx.dataset.data[ctx.dataIndex] || 0;
+ return value > 4 ? 2
+ : value > -4 ? 5
+ : 10;
+ },
+ radius: 10
+ }
+ },
+ scale: {
+ display: false,
+ ticks: {
+ min: -15
+ }
+ }
+ }
+ },
+ options: {
+ canvas: {
+ height: 512,
+ width: 512
+ }
+ }
+};
diff --git a/test/fixtures/controller.radar/pointBorderWidth/scriptable.png b/test/fixtures/controller.radar/pointBorderWidth/scriptable.png
new file mode 100644
index 00000000000..90112da1530
Binary files /dev/null and b/test/fixtures/controller.radar/pointBorderWidth/scriptable.png differ
diff --git a/test/fixtures/controller.radar/pointBorderWidth/value.js b/test/fixtures/controller.radar/pointBorderWidth/value.js
new file mode 100644
index 00000000000..b486ea93702
--- /dev/null
+++ b/test/fixtures/controller.radar/pointBorderWidth/value.js
@@ -0,0 +1,46 @@
+module.exports = {
+ config: {
+ type: 'radar',
+ data: {
+ labels: [0, 1, 2, 3, 4, 5],
+ datasets: [
+ {
+ // option in dataset
+ data: [0, 5, 10, null, -10, -5],
+ pointBorderColor: '#0000ff',
+ pointBorderWidth: 6
+ },
+ {
+ // option in element (fallback)
+ data: [4, -5, -10, null, 10, 5]
+ }
+ ]
+ },
+ options: {
+ legend: false,
+ title: false,
+ elements: {
+ line: {
+ fill: false
+ },
+ point: {
+ borderColor: '#00ff00',
+ borderWidth: 3,
+ radius: 10
+ }
+ },
+ scale: {
+ display: false,
+ ticks: {
+ min: -15
+ }
+ }
+ }
+ },
+ options: {
+ canvas: {
+ height: 512,
+ width: 512
+ }
+ }
+};
diff --git a/test/fixtures/controller.radar/pointBorderWidth/value.png b/test/fixtures/controller.radar/pointBorderWidth/value.png
new file mode 100644
index 00000000000..ad9106df81a
Binary files /dev/null and b/test/fixtures/controller.radar/pointBorderWidth/value.png differ