diff --git a/src/scales/scale.category.js b/src/scales/scale.category.js index 3cee4ebf71f..0388baa00de 100644 --- a/src/scales/scale.category.js +++ b/src/scales/scale.category.js @@ -66,8 +66,15 @@ module.exports = function(Chart) { // 1 is added because we need the length but we have the indexes var offsetAmt = Math.max((me.maxIndex + 1 - me.minIndex - ((me.options.gridLines.offsetGridLines) ? 0 : 1)), 1); - if (value !== undefined && isNaN(index)) { + // If value is a data object, then index is the index in the data array, + // not the index of the scale. We need to change that. + var valueCategory; + if (value !== undefined && value !== null) { + valueCategory = me.isHorizontal() ? value.x : value.y; + } + if (valueCategory !== undefined || (value !== undefined && isNaN(index))) { var labels = me.getLabels(); + value = valueCategory || value; var idx = labels.indexOf(value); index = idx !== -1 ? idx : index; }