diff --git a/draftlogs/6121_add.md b/draftlogs/6121_add.md
new file mode 100644
index 00000000000..364bb3ff4a9
--- /dev/null
+++ b/draftlogs/6121_add.md
@@ -0,0 +1 @@
+- Add support for hovertemplate when mode=lines on scatter traces [[#6121](https://github.com/plotly/plotly.js/pull/6121)]
diff --git a/src/traces/scatter/defaults.js b/src/traces/scatter/defaults.js
index de63b81e49e..e2483098506 100644
--- a/src/traces/scatter/defaults.js
+++ b/src/traces/scatter/defaults.js
@@ -88,7 +88,7 @@ module.exports = function supplyDefaults(traceIn, traceOut, defaultColor, layout
dfltHoverOn.push('fills');
}
coerce('hoveron', dfltHoverOn.join('+') || 'points');
- if(traceOut.hoveron !== 'fills') coerce('hovertemplate');
+ if(traceOut.hoveron !== 'fills' || traceOut.mode === 'lines') coerce('hovertemplate');
var errorBarsSupplyDefaults = Registry.getComponentMethod('errorbars', 'supplyDefaults');
errorBarsSupplyDefaults(traceIn, traceOut, lineColor || markerColor || defaultColor, {axis: 'y'});
errorBarsSupplyDefaults(traceIn, traceOut, lineColor || markerColor || defaultColor, {axis: 'x', inherit: 'y'});
diff --git a/src/traces/scatter/hover.js b/src/traces/scatter/hover.js
index 04b0de04e17..0b34fc5b73c 100644
--- a/src/traces/scatter/hover.js
+++ b/src/traces/scatter/hover.js
@@ -238,7 +238,10 @@ module.exports = function hoverPoints(pointData, xval, yval, hovermode) {
else if(Color.opacity((trace.line || {}).color)) {
color = trace.line.color;
}
-
+ var hovertemplate = false;
+ if(trace.mode === 'lines') {
+ hovertemplate = trace.hovertemplate;
+ }
Lib.extendFlat(pointData, {
// never let a 2D override 1D type as closest point
// also: no spikeDistance, it's not allowed for fills
@@ -248,7 +251,7 @@ module.exports = function hoverPoints(pointData, xval, yval, hovermode) {
y0: hoverLabelCoords.y0,
y1: hoverLabelCoords.y1,
color: color,
- hovertemplate: false
+ hovertemplate: hovertemplate,
});
delete pointData.index;
diff --git a/test/jasmine/tests/hover_label_test.js b/test/jasmine/tests/hover_label_test.js
index a9af59100c0..c90d85a0372 100644
--- a/test/jasmine/tests/hover_label_test.js
+++ b/test/jasmine/tests/hover_label_test.js
@@ -2164,6 +2164,30 @@ describe('hover info', function() {
})
.then(done, done.fail);
});
+
+ it('should work when hoveron: fills and mode: lines', function(done) {
+ var gd = document.getElementById('graph');
+ Plotly.newPlot(gd, [{
+ 'x': ['0', '390', '390', '0', '0'],
+ 'y': ['0', '0', '390', '390', '0'],
+ 'hovertemplate': 'Test',
+ 'markers': 'lines',
+ 'type': 'scatter',
+ 'mode': 'lines',
+ 'fill': 'toself',
+ 'hoveron': 'fills'
+ }], mockCopy.layout
+ )
+ .then(function() {
+ Fx.hover('graph', evt, 'xy');
+
+ assertHoverLabelContent({
+ nums: 'Test',
+ name: ''
+ });
+ })
+ .then(done, done.fail);
+ });
});
it('should work with trace.name linked to layout.meta', function(done) {