return parsed;
},
+ /**
+ * @private
+ */
+ _getLabelAndValue: function(index) {
+ const me = this;
+ const indexScale = me._getIndexScale();
+ const valueScale = me._getValueScale();
+ const parsed = me._getParsed(index);
+ const custom = parsed._custom;
+ const value = custom
+ ? '[' + custom.start + ', ' + custom.end + ']'
+ : '' + valueScale.getLabelForValue(parsed[valueScale.id]);
+
+ return {
+ label: '' + indexScale.getLabelForValue(parsed[indexScale.id]),
+ value: value
+ };
+ },
+
initialize: function() {
var me = this;
var meta;
title: function() {
// Title doesn't make sense for scatter since we format the data as a point
return '';
- },
- label: function(item, data) {
- var datasetLabel = data.datasets[item.datasetIndex].label || '';
- var dataPoint = data.datasets[item.datasetIndex].data[item.index] || {r: '?'};
- return datasetLabel + ': (' + item.label + ', ' + item.value + ', ' + dataPoint.r + ')';
}
}
}
return Math.max(firstPoint, lastPoint) / 2;
},
+ /**
+ * @private
+ */
+ _getLabelAndValue: function(index) {
+ const me = this;
+ const meta = me._cachedMeta;
+ const xScale = me.getScaleForId(meta.xAxisID);
+ const yScale = me.getScaleForId(meta.yAxisID);
+ const parsed = me._getParsed(index);
+ const x = xScale.getLabelForValue(parsed[xScale.id]);
+ const y = yScale.getLabelForValue(parsed[yScale.id]);
+ const r = parsed._custom;
+
+ return {
+ label: meta.label,
+ value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')'
+ };
+ },
+
/**
* @protected
*/
return this.chart.scale.id;
},
+ /**
+ * @private
+ */
+ _getLabelAndValue: function(index) {
+ const me = this;
+ const scale = me._getValueScale();
+ const parsed = me._getParsed(index);
+
+ return {
+ label: scale._getLabels()[index],
+ value: '' + scale.getLabelForValue(parsed[scale.id])
+ };
+ },
+
update: function(reset) {
var me = this;
var meta = me.getMeta();
meta.type = type;
meta.order = dataset.order || 0;
meta.index = i;
+ meta.label = '' + dataset.label;
if (meta.controller) {
meta.controller.updateIndex(i);
return false;
},
+ /**
+ * @private
+ */
+ _getLabelAndValue: function(index) {
+ const me = this;
+ const indexScale = me._getIndexScale();
+ const valueScale = me._getValueScale();
+ const parsed = me._getParsed(index);
+ return {
+ label: indexScale ? '' + indexScale.getLabelForValue(parsed[indexScale.id]) : '',
+ value: valueScale ? '' + valueScale.getLabelForValue(parsed[valueScale.id]) : ''
+ };
+ },
+
+ /**
+ * @private
+ */
_update: function(reset) {
var me = this;
me._configure();
*/
function createTooltipItem(chart, item) {
const {datasetIndex, element, index} = item;
- const controller = chart.getDatasetMeta(datasetIndex).controller;
- const indexScale = controller._getIndexScale();
- const valueScale = controller._getValueScale();
- const parsed = controller._getParsed(index);
+ const {label, value} = chart.getDatasetMeta(datasetIndex).controller._getLabelAndValue(index);
return {
- label: indexScale ? '' + indexScale.getLabelForValue(parsed[indexScale.id]) : '',
- value: valueScale ? '' + valueScale.getLabelForValue(parsed[valueScale.id]) : '',
+ label: label,
+ value: value,
index: index,
datasetIndex: datasetIndex,
x: element._model.x,