diff --git a/public/app/plugins/panel/graph/graph_tooltip.js b/public/app/plugins/panel/graph/graph_tooltip.js index a10a8bba68c..477af138616 100644 --- a/public/app/plugins/panel/graph/graph_tooltip.js +++ b/public/app/plugins/panel/graph/graph_tooltip.js @@ -1,7 +1,8 @@ define([ 'jquery', + 'lodash' ], -function ($) { +function ($, _) { 'use strict'; function GraphTooltip(elem, dashboard, scope, getSeriesFn) { @@ -40,8 +41,9 @@ function ($) { }; this.getMultiSeriesPlotHoverInfo = function(seriesList, pos) { - var value, i, series, hoverIndex; + var value, i, series, hoverIndex, hoverDistance; var results = []; + var seriesTimes = new Array(seriesList.length); //now we know the current X (j) position for X and Y values var last_value = 0; //needed for stacked values @@ -60,7 +62,13 @@ function ($) { } hoverIndex = this.findHoverIndexFromData(pos.x, series); - results.time = series.data[hoverIndex][0]; + + // Store distance for each highlighted point + hoverDistance = Math.abs(pos.x - series.data[hoverIndex][0]); + seriesTimes[i] = { + time: series.data[hoverIndex][0], + distance: hoverDistance + }; if (series.stack) { if (panel.tooltip.value_type === 'individual') { @@ -87,6 +95,9 @@ function ($) { } } + // Find point which closer to pointer + results.time = _.min(seriesTimes, 'distance').time; + return results; };