diff --git a/draftlogs/7534_fix.md b/draftlogs/7534_fix.md new file mode 100644 index 00000000000..7b7d6334c5d --- /dev/null +++ b/draftlogs/7534_fix.md @@ -0,0 +1 @@ +- Calculate colorscale properly for histogram when marker `cmin`/`cmax`/`cmid` values are undefined [[#7534](https://github.com/plotly/plotly.js/pull/7534)] diff --git a/src/traces/histogram/calc.js b/src/traces/histogram/calc.js index e705ddd36fa..ec10098692d 100644 --- a/src/traces/histogram/calc.js +++ b/src/traces/histogram/calc.js @@ -5,6 +5,9 @@ var isNumeric = require('fast-isnumeric'); var Lib = require('../../lib'); var Registry = require('../../registry'); var Axes = require('../../plots/cartesian/axes'); +const { hasColorscale } = require('../../components/colorscale/helpers'); +const colorscaleCalc = require('../../components/colorscale/calc'); + var arraysToCalcdata = require('../bar/arrays_to_calcdata'); var binFunctions = require('./bin_functions'); @@ -202,6 +205,22 @@ function calc(gd, trace) { cd[0].width1 = Axes.tickIncrement(cd[0].p, binSpec.size, false, calendar) - cd[0].p; } + // auto-z and autocolorscale if applicable + if(hasColorscale(trace, 'marker')) { + colorscaleCalc(gd, trace, { + vals: trace.marker.color, + containerStr: 'marker', + cLetter: 'c' + }); + } + if(hasColorscale(trace, 'marker.line')) { + colorscaleCalc(gd, trace, { + vals: trace.marker.line.color, + containerStr: 'marker.line', + cLetter: 'c' + }); + } + arraysToCalcdata(cd, trace); if(Lib.isArrayOrTypedArray(trace.selectedpoints)) {