diff --git a/src/components/drawing/index.js b/src/components/drawing/index.js index d8f99f96535..66da24e32e0 100644 --- a/src/components/drawing/index.js +++ b/src/components/drawing/index.js @@ -220,8 +220,11 @@ Object.keys(SYMBOLDEFS).forEach(function(k) { var n = symDef.n; drawing.symbolList.push( n, + String(n), k, + n + 100, + String(n + 100), k + '-open' ); drawing.symbolNames[n] = k; @@ -235,8 +238,11 @@ Object.keys(SYMBOLDEFS).forEach(function(k) { } else { drawing.symbolList.push( n + 200, + String(n + 200), k + '-dot', + n + 300, + String(n + 300), k + '-open-dot' ); } @@ -250,7 +256,9 @@ var MAXSYMBOL = drawing.symbolNames.length; var DOTPATH = 'M0,0.5L0.5,0L0,-0.5L-0.5,0Z'; drawing.symbolNumber = function(v) { - if(typeof v === 'string') { + if(isNumeric(v)) { + v = +v; + } else if(typeof v === 'string') { var vbase = 0; if(v.indexOf('-open') > 0) { vbase = 100; diff --git a/test/image/baselines/symbols_string-numbers.png b/test/image/baselines/symbols_string-numbers.png new file mode 100644 index 00000000000..9ae4ee0f187 Binary files /dev/null and b/test/image/baselines/symbols_string-numbers.png differ diff --git a/test/image/compare_pixels_test.js b/test/image/compare_pixels_test.js index a80d2e65d51..c1c0db82e9b 100644 --- a/test/image/compare_pixels_test.js +++ b/test/image/compare_pixels_test.js @@ -102,10 +102,10 @@ if(allMock || argv.filter) { var FLAKY_LIST = [ 'treemap_coffee', - 'treemap_textposition', - 'treemap_with-without_values', + 'treemap_sunburst_marker_colors', 'trace_metatext', - 'gl3d_directions-streamtube1' + 'gl3d_directions-streamtube1', + 'gl3d_traces-with-opacity' ]; console.log(''); diff --git a/test/image/mocks/symbols_string-numbers.json b/test/image/mocks/symbols_string-numbers.json new file mode 100644 index 00000000000..256349ca13d --- /dev/null +++ b/test/image/mocks/symbols_string-numbers.json @@ -0,0 +1,91 @@ +{ + "data": [ + { + "y": [ + 0, + 0, + 0, + 0 + ], + "type": "scatter", + "mode": "markers", + "marker": { + "line": { "width": 3, "color": "black" }, + "size": 14, + "symbol": "1" + } + }, + { + "y": [ + 1, + 1, + 1, + 1 + ], + "type": "scatter", + "mode": "markers", + "marker": { + "line": { "width": 3, "color": "black" }, + "size": 14, + "symbol": "101" + } + }, + { + "y": [ + 2, + 2, + 2, + 2 + ], + "type": "scatter", + "mode": "markers", + "marker": { + "line": { "width": 3, "color": "black" }, + "size": 14, + "symbol": "201" + } + }, + { + "y": [ + 3, + 3, + 3, + 3 + ], + "type": "scatter", + "mode": "markers", + "marker": { + "line": { "width": 3, "color": "black" }, + "size": 14, + "symbol": "301" + } + }, + { + "y": [ + 4, + 4, + 4, + 4 + ], + "type": "scatter", + "mode": "markers", + "marker": { + "line": { "width": 3, "color": "black" }, + "size": 14, + "symbol": [ + "1", + "101", + "201", + "301" + ] + } + } + ], + "layout": { + "title": { + "text": "Accept symbol numbers in string format" + }, + "width": 400, + "height": 400 + } +} diff --git a/test/jasmine/tests/mock_test.js b/test/jasmine/tests/mock_test.js index d03e59ad0a8..4dd48dbcb17 100644 --- a/test/jasmine/tests/mock_test.js +++ b/test/jasmine/tests/mock_test.js @@ -905,6 +905,7 @@ var list = [ 'sunburst_values_colorscale', 'sunburst_with-without_values', 'sunburst_zero_values_textfit', + 'symbols_string-numbers', 'table_latex_multitrace_scatter', 'table_plain_birds', 'table_ragged', @@ -1952,6 +1953,7 @@ figs['sunburst_values'] = require('@mocks/sunburst_values'); figs['sunburst_values_colorscale'] = require('@mocks/sunburst_values_colorscale'); figs['sunburst_with-without_values'] = require('@mocks/sunburst_with-without_values'); figs['sunburst_zero_values_textfit'] = require('@mocks/sunburst_zero_values_textfit'); +figs['symbols_string-numbers'] = require('@mocks/symbols_string-numbers'); figs['table_latex_multitrace_scatter'] = require('@mocks/table_latex_multitrace_scatter'); // figs['table_plain_birds'] = require('@mocks/table_plain_birds'); figs['table_ragged'] = require('@mocks/table_ragged');