diff --git a/src/plots/cartesian/dragbox.js b/src/plots/cartesian/dragbox.js index f8fa211ad8f..48d6d93afc6 100644 --- a/src/plots/cartesian/dragbox.js +++ b/src/plots/cartesian/dragbox.js @@ -732,7 +732,10 @@ function makeDragBox(gd, plotinfo, x, y, w, h, ns, ew) { for(i = 0; i < axList.length; i++) { var axListI = axList[i]; var axListIType = axListI[axisType]; - if(!axListI.fixedrange && axListIType.tickmode === 'sync') activeAxIds.push(axListIType._id); + var axId = axListIType._id; + if(!axListI.fixedrange && axListIType.tickmode === 'sync' && activeAxIds.indexOf(axId) === -1) { + activeAxIds.push(axId); + } } } diff --git a/src/plots/cartesian/tick_value_defaults.js b/src/plots/cartesian/tick_value_defaults.js index 68b9207ee62..2a2e6493fcc 100644 --- a/src/plots/cartesian/tick_value_defaults.js +++ b/src/plots/cartesian/tick_value_defaults.js @@ -6,7 +6,7 @@ var isTypedArraySpec = require('../../lib/array').isTypedArraySpec; var decodeTypedArraySpec = require('../../lib/array').decodeTypedArraySpec; module.exports = function handleTickValueDefaults(containerIn, containerOut, coerce, axType, opts) { - if(!opts) opts = {}; + if (!opts) opts = {}; var isMinor = opts.isMinor; var cIn = isMinor ? containerIn.minor || {} : containerIn; var cOut = isMinor ? containerOut.minor : containerOut; @@ -14,35 +14,39 @@ module.exports = function handleTickValueDefaults(containerIn, containerOut, coe function readInput(attr) { var v = cIn[attr]; - if(isTypedArraySpec(v)) v = decodeTypedArraySpec(v); + if (isTypedArraySpec(v)) v = decodeTypedArraySpec(v); - return ( - v !== undefined - ) ? v : (cOut._template || {})[attr]; + return v !== undefined ? v : (cOut._template || {})[attr]; } var _tick0 = readInput('tick0'); var _dtick = readInput('dtick'); var _tickvals = readInput('tickvals'); + var _overlaying = readInput('overlaying'); - var tickmodeDefault = isArrayOrTypedArray(_tickvals) ? 'array' : - _dtick ? 'linear' : - 'auto'; + var tickmodeDefault; + if (isArrayOrTypedArray(_tickvals)) { + tickmodeDefault = 'array'; + } else if (_dtick) { + tickmodeDefault = 'linear'; + } else if (_overlaying) { + tickmodeDefault = 'sync'; + } else { + tickmodeDefault = 'auto'; + } var tickmode = coerce(prefix + 'tickmode', tickmodeDefault); - if(tickmode === 'auto' || tickmode === 'sync') { + if (tickmode === 'auto' || tickmode === 'sync') { coerce(prefix + 'nticks'); - } else if(tickmode === 'linear') { + } else if (tickmode === 'linear') { // dtick is usually a positive number, but there are some // special strings available for log or date axes // tick0 also has special logic - var dtick = cOut.dtick = cleanTicks.dtick( - _dtick, axType); - cOut.tick0 = cleanTicks.tick0( - _tick0, axType, containerOut.calendar, dtick); - } else if(axType !== 'multicategory') { + var dtick = (cOut.dtick = cleanTicks.dtick(_dtick, axType)); + cOut.tick0 = cleanTicks.tick0(_tick0, axType, containerOut.calendar, dtick); + } else if (axType !== 'multicategory') { var tickvals = coerce(prefix + 'tickvals'); - if(tickvals === undefined) cOut.tickmode = 'auto'; - else if(!isMinor) coerce('ticktext'); + if (tickvals === undefined) cOut.tickmode = 'auto'; + else if (!isMinor) coerce('ticktext'); } }; diff --git a/test/image/baselines/20.png b/test/image/baselines/20.png index 99c40ea0507..9ac360bed51 100644 Binary files a/test/image/baselines/20.png and b/test/image/baselines/20.png differ diff --git a/test/image/baselines/autorange-tozero-rangemode.png b/test/image/baselines/autorange-tozero-rangemode.png index 6683c611baf..355fd25846b 100644 Binary files a/test/image/baselines/autorange-tozero-rangemode.png and b/test/image/baselines/autorange-tozero-rangemode.png differ diff --git a/test/image/baselines/candlestick_double-y-axis.png b/test/image/baselines/candlestick_double-y-axis.png index 64c125658a2..b08f7930253 100644 Binary files a/test/image/baselines/candlestick_double-y-axis.png and b/test/image/baselines/candlestick_double-y-axis.png differ diff --git a/test/image/baselines/candlestick_rangeslider_thai.png b/test/image/baselines/candlestick_rangeslider_thai.png index 9014dd2dbc0..efcffd90c78 100644 Binary files a/test/image/baselines/candlestick_rangeslider_thai.png and b/test/image/baselines/candlestick_rangeslider_thai.png differ diff --git a/test/image/baselines/gl2d_multiple-traces-axes.png b/test/image/baselines/gl2d_multiple-traces-axes.png index f6510334441..465ee74c0dd 100644 Binary files a/test/image/baselines/gl2d_multiple-traces-axes.png and b/test/image/baselines/gl2d_multiple-traces-axes.png differ diff --git a/test/image/baselines/insiderange-x-multi-y.png b/test/image/baselines/insiderange-x-multi-y.png index 3c457a23318..68d2da7481d 100644 Binary files a/test/image/baselines/insiderange-x-multi-y.png and b/test/image/baselines/insiderange-x-multi-y.png differ diff --git a/test/image/baselines/insiderange-y-multi-x.png b/test/image/baselines/insiderange-y-multi-x.png index c4cb5b52eb2..8c211a4c8a0 100644 Binary files a/test/image/baselines/insiderange-y-multi-x.png and b/test/image/baselines/insiderange-y-multi-x.png differ diff --git a/test/image/baselines/legend_scroll_beyond_plotarea.png b/test/image/baselines/legend_scroll_beyond_plotarea.png index 393c0b5aa79..e23e8012e34 100644 Binary files a/test/image/baselines/legend_scroll_beyond_plotarea.png and b/test/image/baselines/legend_scroll_beyond_plotarea.png differ diff --git a/test/image/baselines/legend_visibility.png b/test/image/baselines/legend_visibility.png index 8065bd8478e..694a7a3ecf1 100644 Binary files a/test/image/baselines/legend_visibility.png and b/test/image/baselines/legend_visibility.png differ diff --git a/test/image/baselines/long_axis_labels.png b/test/image/baselines/long_axis_labels.png index 8af4b4c1c6c..ea6ab74cf26 100644 Binary files a/test/image/baselines/long_axis_labels.png and b/test/image/baselines/long_axis_labels.png differ diff --git a/test/image/baselines/map_0.png b/test/image/baselines/map_0.png index ea6ba9eed19..d7d5618c8fb 100644 Binary files a/test/image/baselines/map_0.png and b/test/image/baselines/map_0.png differ diff --git a/test/image/baselines/map_angles.png b/test/image/baselines/map_angles.png index bea9c704673..e32b9b72424 100644 Binary files a/test/image/baselines/map_angles.png and b/test/image/baselines/map_angles.png differ diff --git a/test/image/baselines/map_bubbles-text.png b/test/image/baselines/map_bubbles-text.png index f04effe39f9..ce7a38cc794 100644 Binary files a/test/image/baselines/map_bubbles-text.png and b/test/image/baselines/map_bubbles-text.png differ diff --git a/test/image/baselines/map_bubbles.png b/test/image/baselines/map_bubbles.png index c28eaaede78..811241f7ad1 100644 Binary files a/test/image/baselines/map_bubbles.png and b/test/image/baselines/map_bubbles.png differ diff --git a/test/image/baselines/map_carto-style.png b/test/image/baselines/map_carto-style.png index 8cf861697c5..e0257bf482d 100644 Binary files a/test/image/baselines/map_carto-style.png and b/test/image/baselines/map_carto-style.png differ diff --git a/test/image/baselines/map_carto-text.png b/test/image/baselines/map_carto-text.png index b1996b68c73..9d234b9433a 100644 Binary files a/test/image/baselines/map_carto-text.png and b/test/image/baselines/map_carto-text.png differ diff --git a/test/image/baselines/map_choropleth-multiple.png b/test/image/baselines/map_choropleth-multiple.png index a431b285d0d..5aa665317d8 100644 Binary files a/test/image/baselines/map_choropleth-multiple.png and b/test/image/baselines/map_choropleth-multiple.png differ diff --git a/test/image/baselines/map_choropleth-raw-geojson.png b/test/image/baselines/map_choropleth-raw-geojson.png index 22173a0c3a5..5d390f47756 100644 Binary files a/test/image/baselines/map_choropleth-raw-geojson.png and b/test/image/baselines/map_choropleth-raw-geojson.png differ diff --git a/test/image/baselines/map_connectgaps.png b/test/image/baselines/map_connectgaps.png index 1d4abbea346..6cdcf06d617 100644 Binary files a/test/image/baselines/map_connectgaps.png and b/test/image/baselines/map_connectgaps.png differ diff --git a/test/image/baselines/map_density-multiple.png b/test/image/baselines/map_density-multiple.png index d541420f472..dd86a2e1986 100644 Binary files a/test/image/baselines/map_density-multiple.png and b/test/image/baselines/map_density-multiple.png differ diff --git a/test/image/baselines/map_density-multiple_legend.png b/test/image/baselines/map_density-multiple_legend.png index a6de555ba88..028107681ba 100644 Binary files a/test/image/baselines/map_density-multiple_legend.png and b/test/image/baselines/map_density-multiple_legend.png differ diff --git a/test/image/baselines/map_density0.png b/test/image/baselines/map_density0.png index afb83e587be..038a2395ae6 100644 Binary files a/test/image/baselines/map_density0.png and b/test/image/baselines/map_density0.png differ diff --git a/test/image/baselines/map_geojson-attributes.png b/test/image/baselines/map_geojson-attributes.png index c64aa1ead60..2a5a70fefba 100644 Binary files a/test/image/baselines/map_geojson-attributes.png and b/test/image/baselines/map_geojson-attributes.png differ diff --git a/test/image/baselines/map_layers.png b/test/image/baselines/map_layers.png index a3fa0abd1ee..8de6cab2556 100644 Binary files a/test/image/baselines/map_layers.png and b/test/image/baselines/map_layers.png differ diff --git a/test/image/baselines/map_symbol-text.png b/test/image/baselines/map_symbol-text.png index ceef1de0b9f..5b3a919b251 100644 Binary files a/test/image/baselines/map_symbol-text.png and b/test/image/baselines/map_symbol-text.png differ diff --git a/test/image/baselines/mult-yaxes-manual-shift.png b/test/image/baselines/mult-yaxes-manual-shift.png index b29c78f3cff..7d2bccda1e1 100644 Binary files a/test/image/baselines/mult-yaxes-manual-shift.png and b/test/image/baselines/mult-yaxes-manual-shift.png differ diff --git a/test/image/baselines/mult-yaxes-redraw.png b/test/image/baselines/mult-yaxes-redraw.png index c7c575f8c81..dcee5a3ae5d 100644 Binary files a/test/image/baselines/mult-yaxes-redraw.png and b/test/image/baselines/mult-yaxes-redraw.png differ diff --git a/test/image/baselines/mult-yaxes-simple.png b/test/image/baselines/mult-yaxes-simple.png index 549917d680a..1f896464458 100644 Binary files a/test/image/baselines/mult-yaxes-simple.png and b/test/image/baselines/mult-yaxes-simple.png differ diff --git a/test/image/baselines/mult-yaxes-subplots-stacked.png b/test/image/baselines/mult-yaxes-subplots-stacked.png index 32de1b96d8b..2ff2d30e7af 100644 Binary files a/test/image/baselines/mult-yaxes-subplots-stacked.png and b/test/image/baselines/mult-yaxes-subplots-stacked.png differ diff --git a/test/image/baselines/multicategory_series.png b/test/image/baselines/multicategory_series.png index 929a6e99e07..5eb67c9a9a5 100644 Binary files a/test/image/baselines/multicategory_series.png and b/test/image/baselines/multicategory_series.png differ diff --git a/test/image/baselines/multiple_axes_double.png b/test/image/baselines/multiple_axes_double.png index 5b564459925..1bb1dcb66b7 100644 Binary files a/test/image/baselines/multiple_axes_double.png and b/test/image/baselines/multiple_axes_double.png differ diff --git a/test/image/baselines/multiple_axes_multiple.png b/test/image/baselines/multiple_axes_multiple.png index 9e6113fb9c3..3eab925774d 100644 Binary files a/test/image/baselines/multiple_axes_multiple.png and b/test/image/baselines/multiple_axes_multiple.png differ diff --git a/test/image/baselines/overlaying-axis-lines.png b/test/image/baselines/overlaying-axis-lines.png index 71aede7c553..c5ff2ae0b72 100644 Binary files a/test/image/baselines/overlaying-axis-lines.png and b/test/image/baselines/overlaying-axis-lines.png differ diff --git a/test/image/baselines/range_slider_axes_double.png b/test/image/baselines/range_slider_axes_double.png index 1f3e61e90c2..cbf58c2dab3 100644 Binary files a/test/image/baselines/range_slider_axes_double.png and b/test/image/baselines/range_slider_axes_double.png differ diff --git a/test/image/baselines/range_slider_legend_left.png b/test/image/baselines/range_slider_legend_left.png index c9fa0f176a3..38159c10801 100644 Binary files a/test/image/baselines/range_slider_legend_left.png and b/test/image/baselines/range_slider_legend_left.png differ diff --git a/test/image/baselines/shapes_layer_below_traces.png b/test/image/baselines/shapes_layer_below_traces.png index d6e05eb6f0f..089c827a187 100644 Binary files a/test/image/baselines/shapes_layer_below_traces.png and b/test/image/baselines/shapes_layer_below_traces.png differ diff --git a/test/image/baselines/ticklabelposition-overlay.png b/test/image/baselines/ticklabelposition-overlay.png index f4eb1ca155c..bbda849cab7 100644 Binary files a/test/image/baselines/ticklabelposition-overlay.png and b/test/image/baselines/ticklabelposition-overlay.png differ diff --git a/test/image/baselines/ticklabelposition-overlay2.png b/test/image/baselines/ticklabelposition-overlay2.png index 94f5016ad7d..cb3307bb1df 100644 Binary files a/test/image/baselines/ticklabelposition-overlay2.png and b/test/image/baselines/ticklabelposition-overlay2.png differ diff --git a/test/image/baselines/yaxis-over-yaxis2.png b/test/image/baselines/yaxis-over-yaxis2.png index 0bbf13638ed..ee8ce8de60b 100644 Binary files a/test/image/baselines/yaxis-over-yaxis2.png and b/test/image/baselines/yaxis-over-yaxis2.png differ diff --git a/test/image/baselines/zorder-overlayed-subplots-multiple-traces-main-subplot.png b/test/image/baselines/zorder-overlayed-subplots-multiple-traces-main-subplot.png index 388bd44ec30..30cc0f58904 100644 Binary files a/test/image/baselines/zorder-overlayed-subplots-multiple-traces-main-subplot.png and b/test/image/baselines/zorder-overlayed-subplots-multiple-traces-main-subplot.png differ diff --git a/test/image/baselines/zorder-overlayed-subplots-multiple-traces-main-subplot2.png b/test/image/baselines/zorder-overlayed-subplots-multiple-traces-main-subplot2.png index ee483b8af15..060d7c3e526 100644 Binary files a/test/image/baselines/zorder-overlayed-subplots-multiple-traces-main-subplot2.png and b/test/image/baselines/zorder-overlayed-subplots-multiple-traces-main-subplot2.png differ diff --git a/test/image/baselines/zorder-overlayed-subplots-multiple-traces-one-subplot.png b/test/image/baselines/zorder-overlayed-subplots-multiple-traces-one-subplot.png index b9c67e0578f..25686fca7d9 100644 Binary files a/test/image/baselines/zorder-overlayed-subplots-multiple-traces-one-subplot.png and b/test/image/baselines/zorder-overlayed-subplots-multiple-traces-one-subplot.png differ diff --git a/test/image/baselines/zorder-overlayed-subplots.png b/test/image/baselines/zorder-overlayed-subplots.png index bc6d9c1b15a..5c785cf1360 100644 Binary files a/test/image/baselines/zorder-overlayed-subplots.png and b/test/image/baselines/zorder-overlayed-subplots.png differ diff --git a/test/image/baselines/zzz_zerolinelayer_above.png b/test/image/baselines/zzz_zerolinelayer_above.png index 485700eec31..80e4f47c895 100644 Binary files a/test/image/baselines/zzz_zerolinelayer_above.png and b/test/image/baselines/zzz_zerolinelayer_above.png differ diff --git a/test/image/baselines/zzz_zerolinelayer_below.png b/test/image/baselines/zzz_zerolinelayer_below.png index a287931572d..40ca85eedd7 100644 Binary files a/test/image/baselines/zzz_zerolinelayer_below.png and b/test/image/baselines/zzz_zerolinelayer_below.png differ