diff --git a/frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js b/frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js index 37b9359b3c144c8e8e27fbc4f67476f1e90d9353..ff4f99e33ee3e01f0499f4fc8ac7b4709ee45316 100644 --- a/frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js +++ b/frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js @@ -715,7 +715,8 @@ export default function lineAreaBar(element, { series, onHoverChange, onRender, if (isTimeseries) { // replace xValues with xValues = d3.time[xInterval.interval] - .range(xDomain[0], moment(xDomain[1]).add(1, "ms"), xInterval.count); + .range(xDomain[0], moment(xDomain[1]).add(1, "ms"), xInterval.count) + .map(d => moment(d)); datas = fillMissingValues( datas, xValues, @@ -806,7 +807,9 @@ export default function lineAreaBar(element, { series, onHoverChange, onRender, let yExtents = groups.map(group => d3.extent(group[0].all(), d => d.value)); let yExtent = d3.extent([].concat(...yExtents)); - if (!isScalarSeries && !isScatter && !isStacked && settings["graph.y_axis.auto_split"] !== false) { + // don't auto-split if the metric columns are all identical, i.e. it's a breakout multiseries + const hasDifferentYAxisColumns = _.uniq(series.map(s => s.data.cols[1])).length > 1; + if (!isScalarSeries && !isScatter && !isStacked && hasDifferentYAxisColumns && settings["graph.y_axis.auto_split"] !== false) { yAxisSplit = computeSplit(yExtents); } else { yAxisSplit = [series.map((s,i) => i)];