diff --git a/public/app/plugins/panel/barchart/bars.ts b/public/app/plugins/panel/barchart/bars.ts index a0b636e1fa6..08bc77b456d 100644 --- a/public/app/plugins/panel/barchart/bars.ts +++ b/public/app/plugins/panel/barchart/bars.ts @@ -459,16 +459,21 @@ export function getConfig(opts: BarsOptions, theme: GrafanaTheme2) { let isHovered = hRect && seriesIdx === hRect.sidx; let heightReduce = 0; + let widthReduce = 0; // get height of bar rect at same index of the series below the hovered one if (isStacked && isHovered && hRect!.sidx > 1) { - heightReduce = findRect(qt, hRect!.sidx - 1, hRect!.didx)!.h; + if (isXHorizontal) { + heightReduce = findRect(qt, hRect!.sidx - 1, hRect!.didx)!.h; + } else { + widthReduce = findRect(qt, hRect!.sidx - 1, hRect!.didx)!.w; + } } return { - left: isHovered ? hRect!.x / devicePixelRatio : -10, + left: isHovered ? (hRect!.x + widthReduce) / devicePixelRatio : -10, top: isHovered ? hRect!.y / devicePixelRatio : -10, - width: isHovered ? hRect!.w / devicePixelRatio : 0, + width: isHovered ? (hRect!.w - widthReduce) / devicePixelRatio : 0, height: isHovered ? (hRect!.h - heightReduce) / devicePixelRatio : 0, }; },