Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update plotly.js to v1.50.1 #1643

Closed
wants to merge 3 commits into from
Closed

Update plotly.js to v1.50.1 #1643

wants to merge 3 commits into from

Conversation

rpkyle
Copy link

@rpkyle rpkyle commented Oct 19, 2019

This PR proposes to update plotly.js to v1.50.1, released on 2019-10-15, using the zipfile available at https://api.github.com/repos/plotly/plotly.js/releases/20719620.

The schema has been regenerated using plotlyjs.R. shinytest baselines were updated, and visual baselines were also updated as suggested here.

Output when regenerating visual baselines
Listening on http://0.0.0.0:3838
Loading plotly
Visual testing is enabled.
Testing plotly
highlighting and animation: ..................W............W.................................................................W...................................WW
api: SSSSSSSSS
cookbook axes: ...W.W.W.W.........................................
cookbook lines: ........W..W..W....W..W.......................
cookbook-scatter: ............
Abline: ..........
annotation_: ...........................
Area: ..................
bar: ....................................................................
blank: ....
Boxplot: ......................
geom_col: ...
Contour: ....
coord_fixed: ............................
crossbar: ....
date: ......WW.WW
Density2d: ....................
Probability density: .....................
device: .
dynamicTicks: ...W..W..............
geom_errorbarh: .....
Errorbar: .......
Facets: .....................................
ggplotly+plotly: .......
Heatmap: WW.W......WW.W..WW.W..
hex: ......
Histogram: .............................................
Hline: ......................
geom_jitter: ....
labels: ..........
legends: ........................
lines: ........................
maps: ..
path: .................................
geom_point: ................
polygon: .....................................................................................................
quantile: SS
geom_rect: ..................................................
ggplotly-resize: ..
ribbon: .........
rug: ....................
segment: .........
geom_sf: ....W.W.......W...............
size: ........
smooth: ..............
spoke: ............
Step: ............
Text: ...........
ggplot themes: ........................
ggplot ticks: ..............W.W..............................................
tooltip: .......WW.W...........
violin: ...........
Vline: ................
ggplot ylim: ....
group2NA: ....
means and error bars: .....
colorbar: .............................................WW..............................
plotly-color: S....................................................
colorscales: .........
customdata: ....
plotly data: ........
Filename: S
get_figure: SSSSSS
plotly-group: ......................
internals: ..
plotly-linetype: ................W.W..
name-mapping: ...........
partial-bundles: S......
pie: ............
plotly: ...WW............................................WW.WW................................................................
add_sf: ........W..SSW............SSSSSSS
shiny: ....S
size: WWWW.WWWW........................
splom: S
subplot: ...................................................WWWWWWWWWWWWWWWW.WWWWWWWWWWWWWWWWWW......WW........WW..............WW.....WW...........WW.....WW.............WWWWW....
sunburst: .
plotly-symbol: ......W.W............WW.WW..
waterfall: .
rotated ticks: SSS
style/restyle functionality: .........
toRGB: ..

══ Skipped ═════════════════════════════════════════════════════════════════════

  1. api() returns endpoints (@test-api.R#5) - Reason: Testing plot.ly API calls requires a plotly account

  2. Can search with white-space (@test-api.R#14) - Reason: Testing plot.ly API calls requires a plotly account

  3. Changing a filename works (@test-api.R#22) - Reason: Testing plot.ly API calls requires a plotly account

  4. Downloading plots works (@test-api.R#32) - Reason: Testing plot.ly API calls requires a plotly account

  5. Downloading grids works (@test-api.R#51) - Reason: Testing plot.ly API calls requires a plotly account

  6. Creating produces a new file by default (@test-api.R#68) - Reason: Testing plot.ly API calls requires a plotly account

  7. Can overwrite a grid (@test-api.R#92) - Reason: Testing plot.ly API calls requires a plotly account

  8. Can overwrite a plot (@test-api.R#103) - Reason: Testing plot.ly API calls requires a plotly account

  9. Can create plots with non-trivial src attributes (@test-api.R#115) - Reason: Testing plot.ly API calls requires a plotly account

  10. Basic geom_quantile() works (@test-ggplot-quantile.R#7) - Reason: quantreg cannot be loaded

  11. Can specify gpar() in geom_quantile() (@test-ggplot-quantile.R#30) - Reason: quantreg cannot be loaded

  12. plot_ly() handles a simple scatterplot (@test-plotly-color.R#10) - Reason: empty test

  13. filename supports names with paths included (@test-plotly-filename.R#5) - Reason: Testing plot.ly API calls requires a plotly account

  14. requests made by a user who doesn't exist error a 404 (@test-plotly-getfigure.R#5) - Reason: Testing plot.ly API calls requires a plotly account

  15. requests made to retrieve a figure that doesn't exist returns a 404 (@test-plotly-getfigure.R#13) - Reason: Testing plot.ly API calls requires a plotly account

  16. requests made to retrieve some elses private file errors (@test-plotly-getfigure.R#21) - Reason: Testing plot.ly API calls requires a plotly account

  17. retrieving a public figure ... works. (@test-plotly-getfigure.R#27) - Reason: Testing plot.ly API calls requires a plotly account

  18. can add traces to a subplot figure (@test-plotly-getfigure.R#36) - Reason: Testing plot.ly API calls requires a plotly account

  19. posting a hidden plot returns a secret key (@test-plotly-getfigure.R#47) - Reason: Testing plot.ly API calls requires a plotly account

  20. Can reduce saved file size with an basic (auto) partial bundle by half (@test-plotly-partial-bundles.R#5) - Reason: pandoc needed for this test is not TRUE

  21. plot_mapbox() fitbounds is set (@test-plotly-sf.R#52) - Reason: has_mapbox() is not TRUE

  22. sf defaults can be overriden (@test-plotly-sf.R#66) - Reason: has_mapbox() is not TRUE

  23. discrete color informs fillcolor (@test-plotly-sf.R#128) - Reason: has_mapbox() is not TRUE

  24. discrete color informs fillcolor (@test-plotly-sf.R#150) - Reason: has_mapbox() is not TRUE

  25. numeric color informs fillcolor (@test-plotly-sf.R#186) - Reason: has_mapbox() is not TRUE

  26. sizing constants (@test-plotly-sf.R#230) - Reason: has_mapbox() is not TRUE

  27. size mappings (@test-plotly-sf.R#279) - Reason: has_mapbox() is not TRUE

  28. altogether now (@test-plotly-sf.R#315) - Reason: has_mapbox() is not TRUE

  29. color and stroke scales can be set independently (@test-plotly-sf.R#351) - Reason: has_mapbox() is not TRUE

  30. event_data shiny app works (@test-plotly-shiny.R#29) - Reason: shiny testing not performed during visual testing

  31. No cartesian axes are supplied to a splom chart (@test-plotly-splom.R#4) - Reason: empty test

  32. no axis rotation is fine (@test-rotated-ticks.R#47) - Reason: empty test

  33. axis.text.x=element_text(angle=90)" (@test-rotated-ticks.R#52) - Reason: empty test

  34. axis.text.x=element_text(angle=70) means transform="rotate(-70)" (@test-rotated-ticks.R#58) - Reason: empty test

══ Warnings ════════════════════════════════════════════════════════════════════

  1. When key is equivalent to group, produce simple keys (@test-animate-highlight.R#98) - All elements of ... must be named.
    Did you want key = c(key)?

  2. When key is nested within group, produce simple key (@test-animate-highlight.R#128) - All elements of ... must be named.
    Did you want key = c(key)?

  3. animation frames are boxed up correctly (@test-animate-highlight.R#350) - Ignoring unknown aesthetics: frame

  4. sf works with crosstalk (@test-animate-highlight.R#386) - Ignoring unknown aesthetics: text

  5. sf works with crosstalk (@test-animate-highlight.R#389) - All elements of ... must be named.
    Did you want key = c(key)?

  6. ylim hides points (@test-cookbook-axes.R#36) - Removed 13 rows containing non-finite values (stat_boxplot).

  7. ylim hides points (@test-cookbook-axes.R#36) - Removed 13 rows containing non-finite values (stat_boxplot).

  8. scale_y(limits) hides points (@test-cookbook-axes.R#41) - Removed 13 rows containing non-finite values (stat_boxplot).

  9. scale_y(limits) hides points (@test-cookbook-axes.R#41) - Removed 13 rows containing non-finite values (stat_boxplot).

  10. (unknown) (@test-cookbook-lines.R#50) - Ignoring unknown aesthetics: y

  11. (unknown) (@test-cookbook-lines.R#57) - Ignoring unknown aesthetics: y

  12. (unknown) (@test-cookbook-lines.R#73) - Ignoring unknown aesthetics: y

  13. (unknown) (@test-cookbook-lines.R#95) - Ignoring unknown aesthetics: y

  14. (unknown) (@test-cookbook-lines.R#114) - Ignoring unknown aesthetics: y

  15. scale_x_date and irregular time series work (@test-ggplot-date.R#36) - Aspect ratios aren't yet implemented, but you can manually set a suitable height/width

  16. scale_x_date and irregular time series work (@test-ggplot-date.R#36) - Aspect ratios aren't yet implemented, but you can manually set a suitable height/width

  17. scale_x_date and irregular time series work (@test-ggplot-date.R#36) - Aspect ratios aren't yet implemented, but you can manually set a suitable height/width

  18. scale_x_date and irregular time series work (@test-ggplot-date.R#36) - Aspect ratios aren't yet implemented, but you can manually set a suitable height/width

  19. Categorical axis reflects custom scale mapping (@test-ggplot-dynamicTicks.R#36) - Removed 167 rows containing non-finite values (stat_count).

  20. Categorical axis reflects custom scale mapping (@test-ggplot-dynamicTicks.R#51) - Removed 167 rows containing non-finite values (stat_count).

  21. geom_tile is translated to type=heatmap (@test-ggplot-heatmap.R#20) - 'heatmap' objects don't have these attributes: 'showlegend'
    Valid attributes include:
    'type', 'visible', 'opacity', 'name', 'uid', 'ids', 'customdata', 'meta', 'hoverinfo', 'hoverlabel', 'stream', 'transforms', 'uirevision', 'z', 'x', 'x0', 'dx', 'y', 'y0', 'dy', 'text', 'hovertext', 'transpose', 'xtype', 'ytype', 'zsmooth', 'connectgaps', 'xgap', 'ygap', 'zhoverformat', 'hovertemplate', 'zauto', 'zmin', 'zmax', 'zmid', 'colorscale', 'autocolorscale', 'reversescale', 'showscale', 'colorbar', 'coloraxis', 'xcalendar', 'ycalendar', 'xaxis', 'yaxis', 'idssrc', 'customdatasrc', 'metasrc', 'hoverinfosrc', 'zsrc', 'xsrc', 'ysrc', 'textsrc', 'hovertextsrc', 'hovertemplatesrc', 'key', 'set', 'frame', 'transforms', '_isNestedKey', '_isSimpleKey', '_isGraticule', '_bbox'

  22. geom_tile is translated to type=heatmap (@test-ggplot-heatmap.R#20) - 'heatmap' objects don't have these attributes: 'showlegend'
    Valid attributes include:
    'type', 'visible', 'opacity', 'name', 'uid', 'ids', 'customdata', 'meta', 'hoverinfo', 'hoverlabel', 'stream', 'transforms', 'uirevision', 'z', 'x', 'x0', 'dx', 'y', 'y0', 'dy', 'text', 'hovertext', 'transpose', 'xtype', 'ytype', 'zsmooth', 'connectgaps', 'xgap', 'ygap', 'zhoverformat', 'hovertemplate', 'zauto', 'zmin', 'zmax', 'zmid', 'colorscale', 'autocolorscale', 'reversescale', 'showscale', 'colorbar', 'coloraxis', 'xcalendar', 'ycalendar', 'xaxis', 'yaxis', 'idssrc', 'customdatasrc', 'metasrc', 'hoverinfosrc', 'zsrc', 'xsrc', 'ysrc', 'textsrc', 'hovertextsrc', 'hovertemplatesrc', 'key', 'set', 'frame', 'transforms', '_isNestedKey', '_isSimpleKey', '_isGraticule', '_bbox'

  23. geom_tile is translated to type=heatmap (@test-ggplot-heatmap.R#20) - 'heatmap' objects don't have these attributes: 'showlegend'
    Valid attributes include:
    'type', 'visible', 'opacity', 'name', 'uid', 'ids', 'customdata', 'meta', 'hoverinfo', 'hoverlabel', 'stream', 'transforms', 'uirevision', 'z', 'x', 'x0', 'dx', 'y', 'y0', 'dy', 'text', 'hovertext', 'transpose', 'xtype', 'ytype', 'zsmooth', 'connectgaps', 'xgap', 'ygap', 'zhoverformat', 'hovertemplate', 'zauto', 'zmin', 'zmax', 'zmid', 'colorscale', 'autocolorscale', 'reversescale', 'showscale', 'colorbar', 'coloraxis', 'xcalendar', 'ycalendar', 'xaxis', 'yaxis', 'idssrc', 'customdatasrc', 'metasrc', 'hoverinfosrc', 'zsrc', 'xsrc', 'ysrc', 'textsrc', 'hovertextsrc', 'hovertemplatesrc', 'key', 'set', 'frame', 'transforms', '_isNestedKey', '_isSimpleKey', '_isGraticule', '_bbox'

  24. geom_tile() scale_fill_gradient2() (@test-ggplot-heatmap.R#45) - 'heatmap' objects don't have these attributes: 'showlegend'
    Valid attributes include:
    'type', 'visible', 'opacity', 'name', 'uid', 'ids', 'customdata', 'meta', 'hoverinfo', 'hoverlabel', 'stream', 'transforms', 'uirevision', 'z', 'x', 'x0', 'dx', 'y', 'y0', 'dy', 'text', 'hovertext', 'transpose', 'xtype', 'ytype', 'zsmooth', 'connectgaps', 'xgap', 'ygap', 'zhoverformat', 'hovertemplate', 'zauto', 'zmin', 'zmax', 'zmid', 'colorscale', 'autocolorscale', 'reversescale', 'showscale', 'colorbar', 'coloraxis', 'xcalendar', 'ycalendar', 'xaxis', 'yaxis', 'idssrc', 'customdatasrc', 'metasrc', 'hoverinfosrc', 'zsrc', 'xsrc', 'ysrc', 'textsrc', 'hovertextsrc', 'hovertemplatesrc', 'key', 'set', 'frame', 'transforms', '_isNestedKey', '_isSimpleKey', '_isGraticule', '_bbox'

  25. geom_tile() scale_fill_gradient2() (@test-ggplot-heatmap.R#45) - 'heatmap' objects don't have these attributes: 'showlegend'
    Valid attributes include:
    'type', 'visible', 'opacity', 'name', 'uid', 'ids', 'customdata', 'meta', 'hoverinfo', 'hoverlabel', 'stream', 'transforms', 'uirevision', 'z', 'x', 'x0', 'dx', 'y', 'y0', 'dy', 'text', 'hovertext', 'transpose', 'xtype', 'ytype', 'zsmooth', 'connectgaps', 'xgap', 'ygap', 'zhoverformat', 'hovertemplate', 'zauto', 'zmin', 'zmax', 'zmid', 'colorscale', 'autocolorscale', 'reversescale', 'showscale', 'colorbar', 'coloraxis', 'xcalendar', 'ycalendar', 'xaxis', 'yaxis', 'idssrc', 'customdatasrc', 'metasrc', 'hoverinfosrc', 'zsrc', 'xsrc', 'ysrc', 'textsrc', 'hovertextsrc', 'hovertemplatesrc', 'key', 'set', 'frame', 'transforms', '_isNestedKey', '_isSimpleKey', '_isGraticule', '_bbox'

  26. geom_tile() scale_fill_gradient2() (@test-ggplot-heatmap.R#45) - 'heatmap' objects don't have these attributes: 'showlegend'
    Valid attributes include:
    'type', 'visible', 'opacity', 'name', 'uid', 'ids', 'customdata', 'meta', 'hoverinfo', 'hoverlabel', 'stream', 'transforms', 'uirevision', 'z', 'x', 'x0', 'dx', 'y', 'y0', 'dy', 'text', 'hovertext', 'transpose', 'xtype', 'ytype', 'zsmooth', 'connectgaps', 'xgap', 'ygap', 'zhoverformat', 'hovertemplate', 'zauto', 'zmin', 'zmax', 'zmid', 'colorscale', 'autocolorscale', 'reversescale', 'showscale', 'colorbar', 'coloraxis', 'xcalendar', 'ycalendar', 'xaxis', 'yaxis', 'idssrc', 'customdatasrc', 'metasrc', 'hoverinfosrc', 'zsrc', 'xsrc', 'ysrc', 'textsrc', 'hovertextsrc', 'hovertemplatesrc', 'key', 'set', 'frame', 'transforms', '_isNestedKey', '_isSimpleKey', '_isGraticule', '_bbox'

  27. geom_tile() with discrete x/y (@test-ggplot-heatmap.R#60) - 'heatmap' objects don't have these attributes: 'showlegend'
    Valid attributes include:
    'type', 'visible', 'opacity', 'name', 'uid', 'ids', 'customdata', 'meta', 'hoverinfo', 'hoverlabel', 'stream', 'transforms', 'uirevision', 'z', 'x', 'x0', 'dx', 'y', 'y0', 'dy', 'text', 'hovertext', 'transpose', 'xtype', 'ytype', 'zsmooth', 'connectgaps', 'xgap', 'ygap', 'zhoverformat', 'hovertemplate', 'zauto', 'zmin', 'zmax', 'zmid', 'colorscale', 'autocolorscale', 'reversescale', 'showscale', 'colorbar', 'coloraxis', 'xcalendar', 'ycalendar', 'xaxis', 'yaxis', 'idssrc', 'customdatasrc', 'metasrc', 'hoverinfosrc', 'zsrc', 'xsrc', 'ysrc', 'textsrc', 'hovertextsrc', 'hovertemplatesrc', 'key', 'set', 'frame', 'transforms', '_isNestedKey', '_isSimpleKey', '_isGraticule', '_bbox'

  28. geom_tile() with discrete x/y (@test-ggplot-heatmap.R#60) - 'heatmap' objects don't have these attributes: 'showlegend'
    Valid attributes include:
    'type', 'visible', 'opacity', 'name', 'uid', 'ids', 'customdata', 'meta', 'hoverinfo', 'hoverlabel', 'stream', 'transforms', 'uirevision', 'z', 'x', 'x0', 'dx', 'y', 'y0', 'dy', 'text', 'hovertext', 'transpose', 'xtype', 'ytype', 'zsmooth', 'connectgaps', 'xgap', 'ygap', 'zhoverformat', 'hovertemplate', 'zauto', 'zmin', 'zmax', 'zmid', 'colorscale', 'autocolorscale', 'reversescale', 'showscale', 'colorbar', 'coloraxis', 'xcalendar', 'ycalendar', 'xaxis', 'yaxis', 'idssrc', 'customdatasrc', 'metasrc', 'hoverinfosrc', 'zsrc', 'xsrc', 'ysrc', 'textsrc', 'hovertextsrc', 'hovertemplatesrc', 'key', 'set', 'frame', 'transforms', '_isNestedKey', '_isSimpleKey', '_isGraticule', '_bbox'

  29. geom_tile() with discrete x/y (@test-ggplot-heatmap.R#60) - 'heatmap' objects don't have these attributes: 'showlegend'
    Valid attributes include:
    'type', 'visible', 'opacity', 'name', 'uid', 'ids', 'customdata', 'meta', 'hoverinfo', 'hoverlabel', 'stream', 'transforms', 'uirevision', 'z', 'x', 'x0', 'dx', 'y', 'y0', 'dy', 'text', 'hovertext', 'transpose', 'xtype', 'ytype', 'zsmooth', 'connectgaps', 'xgap', 'ygap', 'zhoverformat', 'hovertemplate', 'zauto', 'zmin', 'zmax', 'zmid', 'colorscale', 'autocolorscale', 'reversescale', 'showscale', 'colorbar', 'coloraxis', 'xcalendar', 'ycalendar', 'xaxis', 'yaxis', 'idssrc', 'customdatasrc', 'metasrc', 'hoverinfosrc', 'zsrc', 'xsrc', 'ysrc', 'textsrc', 'hovertextsrc', 'hovertemplatesrc', 'key', 'set', 'frame', 'transforms', '_isNestedKey', '_isSimpleKey', '_isGraticule', '_bbox'

  30. geom_sf() geometry collection. (@test-ggplot-sf.R#32) - repeating attributes for all sub-geometries for which they may not be constant

  31. geom_sf() geometry collection. (@test-ggplot-sf.R#32) - repeating attributes for all sub-geometries for which they may not be constant

  32. geom_sf() polygons with fill/text. (@test-ggplot-sf.R#51) - Ignoring unknown aesthetics: text

  33. limits can hide data (@test-ggplot-ticks.R#59) - Removed 10 rows containing missing values (stat_boxplot).

  34. limits can hide data (@test-ggplot-ticks.R#59) - Removed 10 rows containing missing values (stat_boxplot).

  35. geom_tile() displays correct info in tooltip with discrete y (@test-ggplot-tooltip.R#53) - 'heatmap' objects don't have these attributes: 'showlegend'
    Valid attributes include:
    'type', 'visible', 'opacity', 'name', 'uid', 'ids', 'customdata', 'meta', 'hoverinfo', 'hoverlabel', 'stream', 'transforms', 'uirevision', 'z', 'x', 'x0', 'dx', 'y', 'y0', 'dy', 'text', 'hovertext', 'transpose', 'xtype', 'ytype', 'zsmooth', 'connectgaps', 'xgap', 'ygap', 'zhoverformat', 'hovertemplate', 'zauto', 'zmin', 'zmax', 'zmid', 'colorscale', 'autocolorscale', 'reversescale', 'showscale', 'colorbar', 'coloraxis', 'xcalendar', 'ycalendar', 'xaxis', 'yaxis', 'idssrc', 'customdatasrc', 'metasrc', 'hoverinfosrc', 'zsrc', 'xsrc', 'ysrc', 'textsrc', 'hovertextsrc', 'hovertemplatesrc', 'key', 'set', 'frame', 'transforms', '_isNestedKey', '_isSimpleKey', '_isGraticule', '_bbox'

  36. geom_tile() displays correct info in tooltip with discrete y (@test-ggplot-tooltip.R#53) - 'heatmap' objects don't have these attributes: 'showlegend'
    Valid attributes include:
    'type', 'visible', 'opacity', 'name', 'uid', 'ids', 'customdata', 'meta', 'hoverinfo', 'hoverlabel', 'stream', 'transforms', 'uirevision', 'z', 'x', 'x0', 'dx', 'y', 'y0', 'dy', 'text', 'hovertext', 'transpose', 'xtype', 'ytype', 'zsmooth', 'connectgaps', 'xgap', 'ygap', 'zhoverformat', 'hovertemplate', 'zauto', 'zmin', 'zmax', 'zmid', 'colorscale', 'autocolorscale', 'reversescale', 'showscale', 'colorbar', 'coloraxis', 'xcalendar', 'ycalendar', 'xaxis', 'yaxis', 'idssrc', 'customdatasrc', 'metasrc', 'hoverinfosrc', 'zsrc', 'xsrc', 'ysrc', 'textsrc', 'hovertextsrc', 'hovertemplatesrc', 'key', 'set', 'frame', 'transforms', '_isNestedKey', '_isSimpleKey', '_isGraticule', '_bbox'

  37. geom_tile() displays correct info in tooltip with discrete y (@test-ggplot-tooltip.R#53) - 'heatmap' objects don't have these attributes: 'showlegend'
    Valid attributes include:
    'type', 'visible', 'opacity', 'name', 'uid', 'ids', 'customdata', 'meta', 'hoverinfo', 'hoverlabel', 'stream', 'transforms', 'uirevision', 'z', 'x', 'x0', 'dx', 'y', 'y0', 'dy', 'text', 'hovertext', 'transpose', 'xtype', 'ytype', 'zsmooth', 'connectgaps', 'xgap', 'ygap', 'zhoverformat', 'hovertemplate', 'zauto', 'zmin', 'zmax', 'zmid', 'colorscale', 'autocolorscale', 'reversescale', 'showscale', 'colorbar', 'coloraxis', 'xcalendar', 'ycalendar', 'xaxis', 'yaxis', 'idssrc', 'customdatasrc', 'metasrc', 'hoverinfosrc', 'zsrc', 'xsrc', 'ysrc', 'textsrc', 'hovertextsrc', 'hovertemplatesrc', 'key', 'set', 'frame', 'transforms', '_isNestedKey', '_isSimpleKey', '_isGraticule', '_bbox'

  38. positioning with multiple colorbars and legends (@test-plotly-colorbar.R#122) - n too large, allowed maximum for palette Set2 is 8
    Returning the palette you asked for with that many colors

  39. positioning with multiple colorbars and legends (@test-plotly-colorbar.R#122) - n too large, allowed maximum for palette Set2 is 8
    Returning the palette you asked for with that many colors

  40. Trace ordering is alphabetical (@test-plotly-linetype.R#62) - plotly.js only supports 6 different linetypes

  41. Trace ordering is alphabetical (@test-plotly-linetype.R#62) - plotly.js only supports 6 different linetypes

  42. Variable mappings return same result regardless of where they appear (@test-plotly.R#41) - line.width does not currently support multiple values.

  43. Variable mappings return same result regardless of where they appear (@test-plotly.R#41) - line.width does not currently support multiple values.

  44. Character strings correctly mapped to a positional axis (@test-plotly.R#143) - minimal value for n is 3, returning requested palette with 3 different levels

  45. Character strings correctly mapped to a positional axis (@test-plotly.R#143) - minimal value for n is 3, returning requested palette with 3 different levels

  46. Character strings correctly mapped to a positional axis (@test-plotly.R#143) - minimal value for n is 3, returning requested palette with 3 different levels

  47. Character strings correctly mapped to a positional axis (@test-plotly.R#143) - minimal value for n is 3, returning requested palette with 3 different levels

  48. plot_geo() lat/lon range is set (@test-plotly-sf.R#37) - The trace types 'scattermapbox' and 'scattergeo' require a projected coordinate system that is based on the WGS84 datum (EPSG:4326), but the crs provided is: '+proj=longlat +datum=NAD27 +no_defs'. Attempting transformation to the target coordinate system.

  49. Can plot sfc with a missing crs (@test-plotly-sf.R#89) - Missing coordinate reference system (crs). Defaulting to EPSG:4326

  50. sizemode is always respected (@test-plotly-size.R#7) - line.width does not currently support multiple values.

  51. sizemode is always respected (@test-plotly-size.R#7) - line.width does not currently support multiple values.

  52. sizemode is always respected (@test-plotly-size.R#7) - line.width does not currently support multiple values.

  53. sizemode is always respected (@test-plotly-size.R#7) - line.width does not currently support multiple values.

  54. sizemode is always respected (@test-plotly-size.R#7) - line.width does not currently support multiple values.

  55. sizemode is always respected (@test-plotly-size.R#7) - line.width does not currently support multiple values.

  56. sizemode is always respected (@test-plotly-size.R#7) - line.width does not currently support multiple values.

  57. sizemode is always respected (@test-plotly-size.R#7) - line.width does not currently support multiple values.

  58. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  59. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  60. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  61. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  62. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - Can only have one: highlight

  63. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  64. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  65. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - Can only have one: highlight

  66. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  67. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  68. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - Can only have one: highlight

  69. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  70. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  71. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  72. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  73. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  74. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  75. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  76. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  77. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  78. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - Can only have one: highlight

  79. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  80. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  81. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - Can only have one: highlight

  82. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  83. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  84. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - Can only have one: highlight

  85. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  86. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  87. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  88. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  89. ggplotly understands ggmatrix (@test-plotly-subplot.R#139) - All elements of ... must be named.
    Did you want key = c(key)?

  90. annotation paper repositioning (@test-plotly-subplot.R#148) - No trace type specified and no positional attributes specified

  91. annotation paper repositioning (@test-plotly-subplot.R#148) - No trace type specified and no positional attributes specified

  92. shape paper repositioning (@test-plotly-subplot.R#194) - No trace type specified and no positional attributes specified

  93. shape paper repositioning (@test-plotly-subplot.R#194) - No trace type specified and no positional attributes specified

  94. shape paper repositioning (@test-plotly-subplot.R#244) - No trace type specified and no positional attributes specified

  95. shape paper repositioning (@test-plotly-subplot.R#244) - No trace type specified and no positional attributes specified

  96. annotation xref/yref bumping (@test-plotly-subplot.R#308) - No trace type specified and no positional attributes specified

  97. annotation xref/yref bumping (@test-plotly-subplot.R#308) - No trace type specified and no positional attributes specified

  98. annotation xref/yref bumping (@test-plotly-subplot.R#320) - No trace type specified and no positional attributes specified

  99. annotation xref/yref bumping (@test-plotly-subplot.R#320) - No trace type specified and no positional attributes specified

  100. shape xref/yref bumping (@test-plotly-subplot.R#384) - No trace type specified and no positional attributes specified

  101. shape xref/yref bumping (@test-plotly-subplot.R#384) - No trace type specified and no positional attributes specified

  102. shape xref/yref bumping (@test-plotly-subplot.R#396) - No trace type specified and no positional attributes specified

  103. shape xref/yref bumping (@test-plotly-subplot.R#396) - No trace type specified and no positional attributes specified

  104. May specify legendgroup with through a vector of values (@test-plotly-subplot.R#481) - Unequal factor levels: coercing to character

  105. May specify legendgroup with through a vector of values (@test-plotly-subplot.R#481) - binding character and factor vector, coercing into character vector

  106. May specify legendgroup with through a vector of values (@test-plotly-subplot.R#481) - binding character and factor vector, coercing into character vector

  107. May specify legendgroup with through a vector of values (@test-plotly-subplot.R#481) - binding character and factor vector, coercing into character vector

  108. May specify legendgroup with through a vector of values (@test-plotly-subplot.R#504) - No trace type specified and no positional attributes specified

  109. Setting a constant symbol works (@test-plotly-symbol.R#30) - The shape palette can deal with a maximum of 6 discrete values because
    more than 6 becomes difficult to discriminate; you have 25. Consider
    specifying shapes manually if you must have them.

  110. Setting a constant symbol works (@test-plotly-symbol.R#30) - The shape palette can deal with a maximum of 6 discrete values because
    more than 6 becomes difficult to discriminate; you have 25. Consider
    specifying shapes manually if you must have them.

  111. Trace ordering is alphabetical (@test-plotly-symbol.R#68) - The shape palette can deal with a maximum of 6 discrete values because
    more than 6 becomes difficult to discriminate; you have 7. Consider
    specifying shapes manually if you must have them.

  112. Trace ordering is alphabetical (@test-plotly-symbol.R#68) - The following are not valid symbol codes:
    'NA'
    Valid symbols include:
    '0', 'circle', '100', 'circle-open', '200', 'circle-dot', '300', 'circle-open-dot', '1', 'square', '101', 'square-open', '201', 'square-dot', '301', 'square-open-dot', '2', 'diamond', '102', 'diamond-open', '202', 'diamond-dot', '302', 'diamond-open-dot', '3', 'cross', '103', 'cross-open', '203', 'cross-dot', '303', 'cross-open-dot', '4', 'x', '104', 'x-open', '204', 'x-dot', '304', 'x-open-dot', '5', 'triangle-up', '105', 'triangle-up-open', '205', 'triangle-up-dot', '305', 'triangle-up-open-dot', '6', 'triangle-down', '106', 'triangle-down-open', '206', 'triangle-down-dot', '306', 'triangle-down-open-dot', '7', 'triangle-left', '107', 'triangle-left-open', '207', 'triangle-left-dot', '307', 'triangle-left-open-dot', '8', 'triangle-right', '108', 'triangle-right-open', '208', 'triangle-right-dot', '308', 'triangle-right-open-dot', '9', 'triangle-ne', '109', 'triangle-ne-open', '209', 'triangle-ne-dot', '309', 'triangle-ne-open-dot', '10', 'triangle-se', '110', 'triangle-se-open', '210', 'triangle-se-dot', '310', 'triangle-se-open-dot', '11', 'triangle-sw', '111', 'triangle-sw-open', '211', 'triangle-sw-dot', '311', 'triangle-sw-open-dot', '12', 'triangle-nw', '112', 'triangle-nw-open', '212', 'triangle-nw-dot', '312', 'triangle-nw-open-dot', '13', 'pentagon', '113', 'pentagon-open', '213', 'pentagon-dot', '313', 'pentagon-open-dot', '14', 'hexagon', '114', 'hexagon-open', '214', 'hexagon-dot', '314', 'hexagon-open-dot', '15', 'hexagon2', '115', 'hexagon2-open', '215', 'hexagon2-dot', '315', 'hexagon2-open-dot', '16', 'octagon', '116', 'octagon-open', '216', 'octagon-dot', '316', 'octagon-open-dot', '17', 'star', '117', 'star-open', '217', 'star-dot', '317', 'star-open-dot', '18', 'hexagram', '118', 'hexagram-open', '218', 'hexagram-dot', '318', 'hexagram-open-dot', '19', 'star-triangle-up', '119', 'star-triangle-up-open', '219', 'star-triangle-up-dot', '319', 'star-triangle-up-open-dot', '20', 'star-triangle-down', '120', 'star-triangle-down-open', '220', 'star-triangle-down-dot', '320', 'star-triangle-down-open-dot', '21', 'star-square', '121', 'star-square-open', '221', 'star-square-dot', '321', 'star-square-open-dot', '22', 'star-diamond', '122', 'star-diamond-open', '222', 'star-diamond-dot', '322', 'star-diamond-open-dot', '23', 'diamond-tall', '123', 'diamond-tall-open', '223', 'diamond-tall-dot', '323', 'diamond-tall-open-dot', '24', 'diamond-wide', '124', 'diamond-wide-open', '224', 'diamond-wide-dot', '324', 'diamond-wide-open-dot', '25', 'hourglass', '125', 'hourglass-open', '26', 'bowtie', '126', 'bowtie-open', '27', 'circle-cross', '127', 'circle-cross-open', '28', 'circle-x', '128', 'circle-x-open', '29', 'square-cross', '129', 'square-cross-open', '30', 'square-x', '130', 'square-x-open', '31', 'diamond-cross', '131', 'diamond-cross-open', '32', 'diamond-x', '132', 'diamond-x-open', '33', 'cross-thin', '133', 'cross-thin-open', '34', 'x-thin', '134', 'x-thin-open', '35', 'asterisk', '135', 'asterisk-open', '36', 'hash', '136', 'hash-open', '236', 'hash-dot', '336', 'hash-open-dot', '37', 'y-up', '137', 'y-up-open', '38', 'y-down', '138', 'y-down-open', '39', 'y-left', '139', 'y-left-open', '40', 'y-right', '140', 'y-right-open', '41', 'line-ew', '141', 'line-ew-open', '42', 'line-ns', '142', 'line-ns-open', '43', 'line-ne', '143', 'line-ne-open', '44', 'line-nw', '144', 'line-nw-open

  113. Trace ordering is alphabetical (@test-plotly-symbol.R#68) - The shape palette can deal with a maximum of 6 discrete values because
    more than 6 becomes difficult to discriminate; you have 7. Consider
    specifying shapes manually if you must have them.

  114. Trace ordering is alphabetical (@test-plotly-symbol.R#68) - The following are not valid symbol codes:
    'NA'
    Valid symbols include:
    '0', 'circle', '100', 'circle-open', '200', 'circle-dot', '300', 'circle-open-dot', '1', 'square', '101', 'square-open', '201', 'square-dot', '301', 'square-open-dot', '2', 'diamond', '102', 'diamond-open', '202', 'diamond-dot', '302', 'diamond-open-dot', '3', 'cross', '103', 'cross-open', '203', 'cross-dot', '303', 'cross-open-dot', '4', 'x', '104', 'x-open', '204', 'x-dot', '304', 'x-open-dot', '5', 'triangle-up', '105', 'triangle-up-open', '205', 'triangle-up-dot', '305', 'triangle-up-open-dot', '6', 'triangle-down', '106', 'triangle-down-open', '206', 'triangle-down-dot', '306', 'triangle-down-open-dot', '7', 'triangle-left', '107', 'triangle-left-open', '207', 'triangle-left-dot', '307', 'triangle-left-open-dot', '8', 'triangle-right', '108', 'triangle-right-open', '208', 'triangle-right-dot', '308', 'triangle-right-open-dot', '9', 'triangle-ne', '109', 'triangle-ne-open', '209', 'triangle-ne-dot', '309', 'triangle-ne-open-dot', '10', 'triangle-se', '110', 'triangle-se-open', '210', 'triangle-se-dot', '310', 'triangle-se-open-dot', '11', 'triangle-sw', '111', 'triangle-sw-open', '211', 'triangle-sw-dot', '311', 'triangle-sw-open-dot', '12', 'triangle-nw', '112', 'triangle-nw-open', '212', 'triangle-nw-dot', '312', 'triangle-nw-open-dot', '13', 'pentagon', '113', 'pentagon-open', '213', 'pentagon-dot', '313', 'pentagon-open-dot', '14', 'hexagon', '114', 'hexagon-open', '214', 'hexagon-dot', '314', 'hexagon-open-dot', '15', 'hexagon2', '115', 'hexagon2-open', '215', 'hexagon2-dot', '315', 'hexagon2-open-dot', '16', 'octagon', '116', 'octagon-open', '216', 'octagon-dot', '316', 'octagon-open-dot', '17', 'star', '117', 'star-open', '217', 'star-dot', '317', 'star-open-dot', '18', 'hexagram', '118', 'hexagram-open', '218', 'hexagram-dot', '318', 'hexagram-open-dot', '19', 'star-triangle-up', '119', 'star-triangle-up-open', '219', 'star-triangle-up-dot', '319', 'star-triangle-up-open-dot', '20', 'star-triangle-down', '120', 'star-triangle-down-open', '220', 'star-triangle-down-dot', '320', 'star-triangle-down-open-dot', '21', 'star-square', '121', 'star-square-open', '221', 'star-square-dot', '321', 'star-square-open-dot', '22', 'star-diamond', '122', 'star-diamond-open', '222', 'star-diamond-dot', '322', 'star-diamond-open-dot', '23', 'diamond-tall', '123', 'diamond-tall-open', '223', 'diamond-tall-dot', '323', 'diamond-tall-open-dot', '24', 'diamond-wide', '124', 'diamond-wide-open', '224', 'diamond-wide-dot', '324', 'diamond-wide-open-dot', '25', 'hourglass', '125', 'hourglass-open', '26', 'bowtie', '126', 'bowtie-open', '27', 'circle-cross', '127', 'circle-cross-open', '28', 'circle-x', '128', 'circle-x-open', '29', 'square-cross', '129', 'square-cross-open', '30', 'square-x', '130', 'square-x-open', '31', 'diamond-cross', '131', 'diamond-cross-open', '32', 'diamond-x', '132', 'diamond-x-open', '33', 'cross-thin', '133', 'cross-thin-open', '34', 'x-thin', '134', 'x-thin-open', '35', 'asterisk', '135', 'asterisk-open', '36', 'hash', '136', 'hash-open', '236', 'hash-dot', '336', 'hash-open-dot', '37', 'y-up', '137', 'y-up-open', '38', 'y-down', '138', 'y-down-open', '39', 'y-left', '139', 'y-left-open', '40', 'y-right', '140', 'y-right-open', '41', 'line-ew', '141', 'line-ew-open', '42', 'line-ns', '142', 'line-ns-open', '43', 'line-ne', '143', 'line-ne-open', '44', 'line-nw', '144', 'line-nw-open

══ DONE ════════════════════════════════════════════════════════════════════════

@cpsievert
Copy link
Collaborator

Thanks @rpkyle! Are you able to run devtools::test(filter = "shiny") successfully on your machine? That gives me an error locally (as well as on Travis CI). I think it's a false positive (the test app runs fine interactively), but I'm not entirely sure at this point.

@rpkyle
Copy link
Author

rpkyle commented Oct 21, 2019

Thanks @rpkyle! Are you able to run devtools::test(filter = "shiny") successfully on your machine? That gives me an error locally (as well as on Travis CI). I think it's a false positive (the test app runs fine interactively), but I'm not entirely sure at this point.

Yeah, I think I see the same -- comparing with TravisCI's

── 1. Failure: event_data shiny app works (@test-plotly-shiny.R#35) ───────────

... I have

test-plotly-shiny.R:35: failure: event_data shiny app works

Let me know if there's anything else I can do on my end.

Output of
devtools::test(filter = "shiny")
rpkyle$ Rscript -e 'devtools::test(filter = "shiny")'
Loading plotly
Loading required package: ggplot2
Visual testing is not enabled.
Testing plotly
✔ |  OK F W S | Context
✖ |   4 1 1   | shiny [13.3 s]
────────────────────────────────────────────────────────────────────────────────
test-plotly-shiny.R:5: warning: event_register() registers an event
arrange_() is deprecated. 
Please use arrange() instead

The 'programming' vignette or the tidyeval book can help you
to program with arrange() : https://tidyeval.tidyverse.org
This warning is displayed once per session.

test-plotly-shiny.R:35: failure: event_data shiny app works
Not all shinytest scripts passed for /Users/rpkyle/PlotlyRepos/plotly/inst/examples/shiny/event_data: mytest

Diff output:
==== mytest ====
diff /var/folders/jf/2xvx1mkd6p9g_d2jtxn2nr040000gn/T//RtmppRgBiH/shinytest-diff-16e112df9594e/mytest-expected/002.json /var/folders/jf/2xvx1mkd6p9g_d2jtxn2nr040000gn/T//RtmppRgBiH/shinytest-diff-16e112df9594e/mytest-current/002.json
3,17d2
< ".clientValue-default-plotlyCrosstalkOpts": {
< "on": "plotly_click",
< "persistent": false,
< "dynamic": false,
< "selectize": false,
< "opacityDim": 0.2,
< "selected": {
< "opacity": 1
< },
< "debounce": 0,
< "color": [
<
< ]
< },
< "plotly_afterplot-A": ""plot"",
diff /var/folders/jf/2xvx1mkd6p9g_d2jtxn2nr040000gn/T//RtmppRgBiH/shinytest-diff-16e112df9594e/mytest-expected/003.json /var/folders/jf/2xvx1mkd6p9g_d2jtxn2nr040000gn/T//RtmppRgBiH/shinytest-diff-16e112df9594e/mytest-current/003.json
3,17d2
< ".clientValue-default-plotlyCrosstalkOpts": {
< "on": "plotly_click",
< "persistent": false,
< "dynamic": false,
< "selectize": false,
< "opacityDim": 0.2,
< "selected": {
< "opacity": 1
< },
< "debounce": 0,
< "color": [
<
< ]
< },
< "plotly_afterplot-A": ""plot"",
diff /var/folders/jf/2xvx1mkd6p9g_d2jtxn2nr040000gn/T//RtmppRgBiH/shinytest-diff-16e112df9594e/mytest-expected/004.json /var/folders/jf/2xvx1mkd6p9g_d2jtxn2nr040000gn/T//RtmppRgBiH/shinytest-diff-16e112df9594e/mytest-current/004.json
3,17d2
< ".clientValue-default-plotlyCrosstalkOpts": {
< "on": "plotly_click",
< "persistent": false,
< "dynamic": false,
< "selectize": false,
< "opacityDim": 0.2,
< "selected": {
< "opacity": 1
< },
< "debounce": 0,
< "color": [
<
< ]
< },
< "plotly_afterplot-A": ""plot"",

────────────────────────────────────────────────────────────────────────────────

══ Results ═════════════════════════════════════════════════════════════════════
Duration: 13.3 s

OK: 4
Failed: 1
Warnings: 1
Skipped: 0

@cpsievert
Copy link
Collaborator

Ok, yea, I'll give it a quick look, but to be honest that test is so brittle I'm questioning whether it's worth keeping at this point.

Would you mind also adding a couple treemap visual tests (like this waterfall test)? Moreover, it'd also be great to have some basic tests that verify other new and important features (e.g., texttemplate) work

@rpkyle
Copy link
Author

rpkyle commented Oct 23, 2019

@cpsievert Sure thing, I'll try to make a summary checklist of tests here, once posted just let me know if I've missed anything and I'll add it in.

@rpkyle
Copy link
Author

rpkyle commented Nov 6, 2019

@cpsievert Apologies for letting this PR stale for a bit, should be able to return to this once tomorrow or the day after once my task list has reduced by a few items.

@nicolaskruchten
Copy link

I'm still very much looking forward to seeing this PR land sometime soon! I think @rpkyle might be a bit overwhelmed with other work so if you have a sec @cpsievert we'd love an assist... Plotly.js is up to 1.51.3 now and has yet another new trace type :)

1.52 is around the corner in early January and will feature... legend titles!

@nicolaskruchten
Copy link

FYI 1.51 contains some fixes for sunburst which are sorely needed in e.g. https://community.plot.ly/t/plotly-sunburst-returning-empty-chart-with-branchvalues-total/26582/21 and 1.52 will contain the remaining missing piece from plotly/plotly.js#4405

@cpsievert
Copy link
Collaborator

cpsievert commented Dec 30, 2019

Is there an ETA for the 1.52 release?

@nicolaskruchten
Copy link

First couple weeks of January

@nicolaskruchten
Copy link

Hey @cpsievert ! Happy new year :)

Plotly.js 1.52.0 is out now, with the full set of fixes for Sunburst & Treemap, and a bunch of other goodies like legend titles, choropleth GeoJSON support, and legend items for choropleth, so we can finally do categorical choropleths with arbitrary data :)

@cpsievert
Copy link
Collaborator

I'll be starting a new PR soon for upgrading to 1.52

@cpsievert cpsievert closed this Feb 5, 2020
@bhogan-mitre
Copy link

Thanks @cpsievert! I've been meaning to ask about this. I just updated to 1.52 in my fork to get around a couple issues. That worked fine on my end, although I haven't done any of the supporting tasks like updating tests. FWIW, that is here: https://github.com/bhogan-mitre/plotly

Please keep us posted, and let us know if there are pieces you could use help with along the way.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants