diff --git a/src/constants/gl_markers.js b/src/constants/gl_markers.js index e10354e84a4..933c226e916 100644 --- a/src/constants/gl_markers.js +++ b/src/constants/gl_markers.js @@ -17,5 +17,40 @@ module.exports = { diamond: '◆', 'diamond-open': '◇', cross: '+', - x: '❌' + x: '❌', + 'triangle-up': '▲', + 'triangle-up-open': '△', + 'triangle-down': '▼', + 'triangle-down-open': '▽', + 'triangle-left': '◄', + 'triangle-left-open': '◁', + 'triangle-right': '►', + 'triangle-right-open': '▷', + 'triangle-ne': '◥', + 'triangle-ne-open': '◹', + 'triangle-nw': '◤', + 'triangle-nw-open': '◸', + 'triangle-se': '◢', + 'triangle-se-open': '◿', + 'triangle-sw': '◣', + 'triangle-sw-open': '◺', + 'pentagon': '⬟', + 'pentagon-open': '⬠', + 'hexagon': '⬢', + 'hexagon-open': '⬡', + 'hexagon2': '⬣', + 'star': '★', + 'star-open': '☆', + 'hexagram': '✶', + 'diamond-tall': '♦', + 'diamond-tall-open': '♢', + 'hourglass': '⧗', + 'hourglass-open': '⧖', + 'bowtie': '⧓', + 'bowtie-open': '⋈', + 'circle-cross': '⊕', + 'circle-x': '⊗', + 'square-cross': '⊞', + 'square-x': '⊠', + 'asterisk': '✱' }; diff --git a/test/image/baselines/gl2d_marker_symbols.png b/test/image/baselines/gl2d_marker_symbols.png new file mode 100644 index 00000000000..110452e5878 Binary files /dev/null and b/test/image/baselines/gl2d_marker_symbols.png differ diff --git a/test/image/baselines/gl3d_marker_symbols.png b/test/image/baselines/gl3d_marker_symbols.png new file mode 100644 index 00000000000..2baff2e2c53 Binary files /dev/null and b/test/image/baselines/gl3d_marker_symbols.png differ diff --git a/test/image/baselines/marker_symbols.png b/test/image/baselines/marker_symbols.png new file mode 100644 index 00000000000..1f614c49c90 Binary files /dev/null and b/test/image/baselines/marker_symbols.png differ diff --git a/test/image/mocks/gl2d_marker_symbols.json b/test/image/mocks/gl2d_marker_symbols.json new file mode 100644 index 00000000000..9fe51b11cd1 --- /dev/null +++ b/test/image/mocks/gl2d_marker_symbols.json @@ -0,0 +1,143 @@ +{ + "data": [ + { + "type": "scattergl", + "x": [1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7], + "y": [1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5], + "mode": "markers", + "text": [ + "marker symbol: 'circle'", + "marker symbol: 'circle-open'", + "marker symbol: 'square'", + "marker symbol: 'square-open'", + "marker symbol: 'diamond'", + "marker symbol: 'diamond-open'", + "marker symbol: 'cross'", + "marker symbol: 'x'", + "marker symbol: 'triangle-up'", + "marker symbol: 'triangle-up-open'", + "marker symbol: 'triangle-down'", + "marker symbol: 'triangle-down-open'", + "marker symbol: 'triangle-left'", + "marker symbol: 'triangle-left-open'", + "marker symbol: 'triangle-right'", + "marker symbol: 'triangle-right-open'", + "marker symbol: 'triangle-ne'", + "marker symbol: 'triangle-ne-open'", + "marker symbol: 'triangle-nw'", + "marker symbol: 'triangle-nw-open'", + "marker symbol: 'triangle-se'", + "marker symbol: 'triangle-se-open'", + "marker symbol: 'triangle-sw'", + "marker symbol: 'triangle-sw-open'", + "marker symbol: 'pentagon'", + "marker symbol: 'pentagon-open'", + "marker symbol: 'hexagon'", + "marker symbol: 'hexagon-open'", + "marker symbol: 'hexagon2'", + "marker symbol: 'star'", + "marker symbol: 'star-open'", + "marker symbol: 'hexagram'", + "marker symbol: 'diamond-tall'", + "marker symbol: 'diamond-tall-open'", + "marker symbol: 'hourglass'", + "marker symbol: 'hourglass-open'", + "marker symbol: 'bowtie'", + "marker symbol: 'bowtie-open'", + "marker symbol: 'circle-cross'", + "marker symbol: 'circle-x'", + "marker symbol: 'square-cross'", + "marker symbol: 'square-x'", + "marker symbol: 'asterisk'" + ], + "marker": { + "color": "blue", + "size": 20, + "symbol": [ + "circle", + "circle-open", + "square", + "square-open", + "diamond", + "diamond-open", + "cross", + "x", + "triangle-up", + "triangle-up-open", + "triangle-down", + "triangle-down-open", + "triangle-left", + "triangle-left-open", + "triangle-right", + "triangle-right-open", + "triangle-ne", + "triangle-ne-open", + "triangle-nw", + "triangle-nw-open", + "triangle-se", + "triangle-se-open", + "triangle-sw", + "triangle-sw-open", + "pentagon", + "pentagon-open", + "hexagon", + "hexagon-open", + "hexagon2", + "star", + "star-open", + "hexagram", + "diamond-tall", + "diamond-tall-open", + "hourglass", + "hourglass-open", + "bowtie", + "bowtie-open", + "circle-cross", + "circle-x", + "square-cross", + "square-x", + "asterisk" + ], + "line": { + "color": "orange", + "width": 1.5 + } + } + } + ], + "layout": { + "width": 500, + "height": 500, + "xaxis": { + "showgrid": false, + "zeroline": false, + "showline": false, + "showticklabels": false, + "range": [0, 10] + }, + "yaxis": { + "showgrid": false, + "zeroline": false, + "showline": false, + "showticklabels": false, + "range": [0, 6] + }, + "annotations": [ + { + "x": 0.5, + "y": 1, + "xref": "paper", + "yref": "paper", + "text": "Add 100 (or '-open') to marker number (or string) to remove the fill color,
Add 200 (or '-dot') to marker number (or string) to add a dot in the middle,
Add 300 (or '-open-dot', 'dot-open') to marker number (or string) for both.", + "font": { + "size": 10 + }, + "align": "left", + "showarrow": false, + "xanchor": "center", + "yanchor": "bottom" + } + ], + "hovermode": "closest" + } +} diff --git a/test/image/mocks/gl3d_marker_symbols.json b/test/image/mocks/gl3d_marker_symbols.json new file mode 100644 index 00000000000..1fec9a7d38a --- /dev/null +++ b/test/image/mocks/gl3d_marker_symbols.json @@ -0,0 +1,163 @@ +{ + "data": [ + { + "type": "scatter3d", + "x": [1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7], + "y": [1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5], + "z": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + "mode": "markers", + "text": [ + "marker symbol: 'circle'", + "marker symbol: 'circle-open'", + "marker symbol: 'square'", + "marker symbol: 'square-open'", + "marker symbol: 'diamond'", + "marker symbol: 'diamond-open'", + "marker symbol: 'cross'", + "marker symbol: 'x'", + "marker symbol: 'triangle-up'", + "marker symbol: 'triangle-up-open'", + "marker symbol: 'triangle-down'", + "marker symbol: 'triangle-down-open'", + "marker symbol: 'triangle-left'", + "marker symbol: 'triangle-left-open'", + "marker symbol: 'triangle-right'", + "marker symbol: 'triangle-right-open'", + "marker symbol: 'triangle-ne'", + "marker symbol: 'triangle-ne-open'", + "marker symbol: 'triangle-nw'", + "marker symbol: 'triangle-nw-open'", + "marker symbol: 'triangle-se'", + "marker symbol: 'triangle-se-open'", + "marker symbol: 'triangle-sw'", + "marker symbol: 'triangle-sw-open'", + "marker symbol: 'pentagon'", + "marker symbol: 'pentagon-open'", + "marker symbol: 'hexagon'", + "marker symbol: 'hexagon-open'", + "marker symbol: 'hexagon2'", + "marker symbol: 'star'", + "marker symbol: 'star-open'", + "marker symbol: 'hexagram'", + "marker symbol: 'diamond-tall'", + "marker symbol: 'diamond-tall-open'", + "marker symbol: 'hourglass'", + "marker symbol: 'hourglass-open'", + "marker symbol: 'bowtie'", + "marker symbol: 'bowtie-open'", + "marker symbol: 'circle-cross'", + "marker symbol: 'circle-x'", + "marker symbol: 'square-cross'", + "marker symbol: 'square-x'", + "marker symbol: 'asterisk'" + ], + "marker": { + "color": "blue", + "size": 8, + "symbol": [ + "circle", + "circle-open", + "square", + "square-open", + "diamond", + "diamond-open", + "cross", + "x", + "triangle-up", + "triangle-up-open", + "triangle-down", + "triangle-down-open", + "triangle-left", + "triangle-left-open", + "triangle-right", + "triangle-right-open", + "triangle-ne", + "triangle-ne-open", + "triangle-nw", + "triangle-nw-open", + "triangle-se", + "triangle-se-open", + "triangle-sw", + "triangle-sw-open", + "pentagon", + "pentagon-open", + "hexagon", + "hexagon-open", + "hexagon2", + "star", + "star-open", + "hexagram", + "diamond-tall", + "diamond-tall-open", + "hourglass", + "hourglass-open", + "bowtie", + "bowtie-open", + "circle-cross", + "circle-x", + "square-cross", + "square-x", + "asterisk" + ], + "line": { + "color": "orange", + "width": 1.5 + } + } + } + ], + "layout": { + "width": 500, + "height": 500, + "scene": { + "camera": { + "eye": { + "x": 0.1, + "y": 0.1, + "z": 2.1 + } + }, + "xaxis": { + "showgrid": false, + "zeroline": false, + "showline": false, + "showticklabels": false, + "title": "", + "range": [0, 10] + }, + "yaxis": { + "showgrid": false, + "zeroline": false, + "showline": false, + "showticklabels": false, + "title": "", + "range": [0, 6] + }, + "zaxis": { + "showgrid": false, + "zeroline": false, + "showline": false, + "showticklabels": false, + "title": "", + "range": [0, 2] + } + }, + "annotations": [ + { + "x": 0.5, + "y": 1, + "xref": "paper", + "yref": "paper", + "text": "Add 100 (or '-open') to marker number (or string) to remove the fill color,
Add 200 (or '-dot') to marker number (or string) to add a dot in the middle,
Add 300 (or '-open-dot', 'dot-open') to marker number (or string) for both.", + "font": { + "size": 10 + }, + "align": "left", + "showarrow": false, + "xanchor": "center", + "yanchor": "bottom" + } + ], + "hovermode": "closest" + } +} diff --git a/test/image/mocks/marker_symbols.json b/test/image/mocks/marker_symbols.json new file mode 100644 index 00000000000..7322d8a34b2 --- /dev/null +++ b/test/image/mocks/marker_symbols.json @@ -0,0 +1,99 @@ +{ + "data": [ + { + "x": [1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9], + "y": [1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5], + "mode": "markers", + "text": [ + "marker number: 0
marker string: 'circle'", + "marker number: 1
marker string: 'square'", + "marker number: 2
marker string: 'diamond'", + "marker number: 3
marker string: 'cross'", + "marker number: 4
marker string: 'x'", + "marker number: 5
marker string: 'triangle-up'", + "marker number: 6
marker string: 'triangle-down'", + "marker number: 7
marker string: 'triangle-left'", + "marker number: 8
marker string: 'triangle-right'", + "marker number: 9
marker string: 'triangle-ne'", + "marker number: 10
marker string: 'triangle-se'", + "marker number: 11
marker string: 'triangle-sw'", + "marker number: 12
marker string: 'triangle-nw'", + "marker number: 13
marker string: 'pentagon'", + "marker number: 14
marker string: 'hexagon'", + "marker number: 15
marker string: 'hexagon2'", + "marker number: 16
marker string: 'octagon'", + "marker number: 17
marker string: 'star'", + "marker number: 18
marker string: 'hexagram'", + "marker number: 19
marker string: 'star-triangle-up'", + "marker number: 20
marker string: 'star-triangle-down'", + "marker number: 21
marker string: 'star-square'", + "marker number: 22
marker string: 'star-diamond'", + "marker number: 23
marker string: 'diamond-tall'", + "marker number: 24
marker string: 'diamond-wide'", + "marker number: 25
marker string: 'hourglass'", + "marker number: 26
marker string: 'bowtie'", + "marker number: 27
marker string: 'circle-cross'", + "marker number: 28
marker string: 'circle-x'", + "marker number: 29
marker string: 'square-cross'", + "marker number: 30
marker string: 'square-x'", + "marker number: 31
marker string: 'diamond-cross'", + "marker number: 32
marker string: 'diamond-x'", + "marker number: 33
marker string: 'cross-thin'", + "marker number: 34
marker string: 'x-thin'", + "marker number: 35
marker string: 'asterisk'", + "marker number: 36
marker string: 'hash'", + "marker number: 37
marker string: 'y-up'", + "marker number: 38
marker string: 'y-down'", + "marker number: 39
marker string: 'y-left'", + "marker number: 40
marker string: 'y-right'", + "marker number: 41
marker string: 'line-ew'", + "marker number: 42
marker string: 'line-ns'", + "marker number: 43
marker string: 'line-ne'", + "marker number: 44
marker string: 'line-nw'" + ], + "marker": { + "color": "blue", + "size": 20, + "symbol": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], + "line": { + "color": "orange", + "width": 1.5 + } + }, + "type": "scatter" + } + ], + "layout": { + "width": 500, + "height": 500, + "xaxis": { + "showgrid": false, + "zeroline": false, + "showline": false, + "showticklabels": false + }, + "yaxis": { + "showgrid": false, + "zeroline": false, + "showline": false, + "showticklabels": false + }, + "annotations": [ + { + "x": 0.5, + "y": 1, + "xref": "paper", + "yref": "paper", + "text": "Add 100 (or '-open') to marker number (or string) to remove the fill color,
Add 200 (or '-dot') to marker number (or string) to add a dot in the middle,
Add 300 (or '-open-dot', 'dot-open') to marker number (or string) for both.", + "font": { + "size": 10 + }, + "align": "left", + "showarrow": false, + "xanchor": "center", + "yanchor": "bottom" + } + ], + "hovermode": "closest" + } +}