Skip to content

proposed change to avoid peeking at 'grid' unit internals #1646

New issue

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

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

Already on GitHub? # to your account

Merged
merged 2 commits into from
Oct 23, 2019

Conversation

pmur002
Copy link
Contributor

@pmur002 pmur002 commented Oct 22, 2019

Hi

This is a suggested change for mm2pixels() and verifyUnit() to avoid them peeking at the internal representation of 'grid' units. It makes use of a new function in R-devel called grid::unitType(), hence the R version conditioning.

Besides being a nicer way to do things, this change is important to help us with the transition to a new internal representation of 'grid' units for the next R release (thomasp85/grid#14).

Paul

@cpsievert
Copy link
Collaborator

Thank you Paul!

@cpsievert cpsievert merged commit 7987280 into plotly:master Oct 23, 2019
cpsievert added a commit that referenced this pull request Oct 23, 2019
chschan pushed a commit to Displayr/plotly that referenced this pull request Mar 12, 2020
* New version of scales no longer 'spans the gamut' of a qualitative color palette

* reduce Reduce() for merging lists

use do.call() instead to avoid quadratic complexity of growing lists

* ensure_one(): reduce noise if attrs are NULL

ignore NULL values

* ggplotly: fix Xaxis anchor if the last row incomplete

attach X axis to the last non-empty row in a column

* stylistic changes

* validate new visual baselines

* Doesn't seem like we need to handle yaxis being a factor

and if we do, it likely needs a different fix

* update shinytest baselines

* ugh maintaining shinytest tests for htmlwidgets is a real pain

* update sf baselines

* go back to using ggplotly() to prepare the widget for shiny rendering

* the extra call to plotly_build() forces more computation then necessary and fixes plotly#1569

* Generation of non-intercept data in hline/vline should respect coord_flip(), closes plotly#1519

* update news; fix typo

* Account for new changes in ggplot2's internal API, fixes plotly#1561

* Break values of positional scales have moved from  to
* Text labels of positional scales have moved from  to
* sf graticule degree labels are now quoted?

* include braces

* gsub

* moar braces

* new sf baselines

* update news

* upgrade to plotly.js v1.49.0

* upgrade to plotly.js v1.49.2

* upgrade to plotly.js v1.49.4

* update baseline

* update shinytest baseline

* make a deep copy of x.layout.width/x.layout.height for use in the resize method, closes plotly#1553

* Wrap user-supplied expression in evalq(), closes plotly#1528

* Use shiny::installExprFunction to register debug hooks

* Asynchronously register plot events

* Revert "Merge pull request plotly#1539 from ropensci/renderWidgetPrep"

This reverts commit d416cea, reversing
changes made to d11bb5a.

* no need to be making deep copies

* Improvements to algorithm for attaching key attribute for shiny's event data, fixes plotly#1610

* Account for pointNumbers
* Do nothing if we don't recognize the case

* When pointNumber is a constant, relay it as such

* handle the 3 cases separately

* use idx instead of i

* update news

* Call setInputValue only if it's defined, closes plotly#1624

* Revert "Revert "Merge pull request plotly#1539 from ropensci/renderWidgetPrep""

This reverts commit 2856731.

* pass along a quoted expr that calls func()

* Revert "go back to using ggplotly() to prepare the widget for shiny rendering"

This reverts commit a0fa68f.

* update news

* verify_webgl() shouldn't warn about types that are already gl, closes plotly#1569

* fix test

* Do not create structure with NULL to remove warnings

* Fix management of environments in renderPlotly(), fixes plotly#1639

Both assignment and evaluation of func() should happen in the local environment

* Add test to prove plotly#1299 fix

* proposed change to avoid peeking at 'grid' unit internals

* improve previous commit

* refactor Paul's unit type commits from plotly#1646

* Some CRAN builds don't have pandoc

* plot_mapbox() shouldn't force a scattermapbox trace type, closes plotly#1608

* fix R CMD check notes

* r-devel apparently doesn't yet have grid::unitType()

* remove outdated travis config

* Validate changes visual baselines due to changes in R3.6's new RNG method

* Add support for new plotly_sunburstclick event, closes plotly#1648

* validate new shinytest baselines

* update news

* fix silly mistake from 3cbccfc

* document

* test expectation should account for changes in the default color palette on r-devel

* improve the aforementioned test example and add a visual test

* Ignore calculated aesthetics that match specified aesthestics

After tidyverse/ggplot2@10fa0014, it's possible for calculated aes to exist for all default_aes

* fix broken link raster2uri and improve the description

* cran hyperlinks must be https

* fix roxygen warning

* In contrast to attr(x, unit), the new grid::unitType() function always return a vector the same length as it's input

* bump to release version; submit to CRAN

* Respect sf's plot12 graticule attribute when building axis ticks, fixes plotly#1673

* Remove missing values in ticktext/tickvals

As discussed in tidyverse/ggplot2#3566 (comment), it's now possible for the ggplot2 labels/positions to contains missing values, and we should be able to simply ignore them

* link to comment

* remove outdated/bad test expectation...the visual baseline covers it

* Don't assume sf geometry is always accessible via [['geometry']], fixes plotly#1659

* validate baselines

* update news

* update to plotly.js 1.52.2

* new baselines

* Add image and treemap visual tests. Also, ensure treemap's stroke reflects the paper's bgcolor

* Add Object.setPrototypeOf polyfill for shinytest and update shinytest json baseline

* Add add_image() for easier rendering of image traces via raster objects

* Bump version, update news, document, add unit test for add_image()

* roxygen escapes % now

* Only call locale_dependency() for locales not included with standard bundle, closes plotly#1686

* CRAN submission

* plot_mapbox() should default to scattermapbox unless z is present, fixes plotly#1707

* add visual test for plotly#1674

* update poor test expectations that assume stringsAsFactors defaults to TRUE

* bump version; update news

* update visual tests

* remove rnaturalearth dependency in tests

Co-authored-by: Carson Sievert <cpsievert1@gmail.com>
Co-authored-by: Alexey Stukalov <astukalov@gmail.com>
Co-authored-by: Wim <wfjvdham@gmail.com>
Co-authored-by: Paul Murrell <paul@stat.auckland.ac.nz>
chschan pushed a commit to Displayr/plotly that referenced this pull request Jun 26, 2022
* New version of scales no longer 'spans the gamut' of a qualitative color palette

* reduce Reduce() for merging lists

use do.call() instead to avoid quadratic complexity of growing lists

* ensure_one(): reduce noise if attrs are NULL

ignore NULL values

* ggplotly: fix Xaxis anchor if the last row incomplete

attach X axis to the last non-empty row in a column

* stylistic changes

* validate new visual baselines

* Doesn't seem like we need to handle yaxis being a factor

and if we do, it likely needs a different fix

* update shinytest baselines

* ugh maintaining shinytest tests for htmlwidgets is a real pain

* update sf baselines

* go back to using ggplotly() to prepare the widget for shiny rendering

* the extra call to plotly_build() forces more computation then necessary and fixes plotly#1569

* Generation of non-intercept data in hline/vline should respect coord_flip(), closes plotly#1519

* update news; fix typo

* Account for new changes in ggplot2's internal API, fixes plotly#1561

* Break values of positional scales have moved from  to
* Text labels of positional scales have moved from  to
* sf graticule degree labels are now quoted?

* include braces

* gsub

* moar braces

* new sf baselines

* update news

* upgrade to plotly.js v1.49.0

* upgrade to plotly.js v1.49.2

* upgrade to plotly.js v1.49.4

* update baseline

* update shinytest baseline

* make a deep copy of x.layout.width/x.layout.height for use in the resize method, closes plotly#1553

* Wrap user-supplied expression in evalq(), closes plotly#1528

* Use shiny::installExprFunction to register debug hooks

* Asynchronously register plot events

* Revert "Merge pull request plotly#1539 from ropensci/renderWidgetPrep"

This reverts commit d416cea, reversing
changes made to d11bb5a.

* no need to be making deep copies

* Improvements to algorithm for attaching key attribute for shiny's event data, fixes plotly#1610

* Account for pointNumbers
* Do nothing if we don't recognize the case

* When pointNumber is a constant, relay it as such

* handle the 3 cases separately

* use idx instead of i

* update news

* Call setInputValue only if it's defined, closes plotly#1624

* Revert "Revert "Merge pull request plotly#1539 from ropensci/renderWidgetPrep""

This reverts commit 2856731.

* pass along a quoted expr that calls func()

* Revert "go back to using ggplotly() to prepare the widget for shiny rendering"

This reverts commit a0fa68f.

* update news

* verify_webgl() shouldn't warn about types that are already gl, closes plotly#1569

* fix test

* Do not create structure with NULL to remove warnings

* Fix management of environments in renderPlotly(), fixes plotly#1639

Both assignment and evaluation of func() should happen in the local environment

* Add test to prove plotly#1299 fix

* proposed change to avoid peeking at 'grid' unit internals

* improve previous commit

* refactor Paul's unit type commits from plotly#1646

* Some CRAN builds don't have pandoc

* plot_mapbox() shouldn't force a scattermapbox trace type, closes plotly#1608

* fix R CMD check notes

* r-devel apparently doesn't yet have grid::unitType()

* remove outdated travis config

* Validate changes visual baselines due to changes in R3.6's new RNG method

* Add support for new plotly_sunburstclick event, closes plotly#1648

* validate new shinytest baselines

* update news

* fix silly mistake from 3cbccfc

* document

* test expectation should account for changes in the default color palette on r-devel

* improve the aforementioned test example and add a visual test

* Ignore calculated aesthetics that match specified aesthestics

After tidyverse/ggplot2@10fa0014, it's possible for calculated aes to exist for all default_aes

* fix broken link raster2uri and improve the description

* cran hyperlinks must be https

* fix roxygen warning

* In contrast to attr(x, unit), the new grid::unitType() function always return a vector the same length as it's input

* bump to release version; submit to CRAN

* Respect sf's plot12 graticule attribute when building axis ticks, fixes plotly#1673

* Remove missing values in ticktext/tickvals

As discussed in tidyverse/ggplot2#3566 (comment), it's now possible for the ggplot2 labels/positions to contains missing values, and we should be able to simply ignore them

* link to comment

* remove outdated/bad test expectation...the visual baseline covers it

* Don't assume sf geometry is always accessible via [['geometry']], fixes plotly#1659

* validate baselines

* update news

* update to plotly.js 1.52.2

* new baselines

* Add image and treemap visual tests. Also, ensure treemap's stroke reflects the paper's bgcolor

* Add Object.setPrototypeOf polyfill for shinytest and update shinytest json baseline

* Add add_image() for easier rendering of image traces via raster objects

* Bump version, update news, document, add unit test for add_image()

* roxygen escapes % now

* Only call locale_dependency() for locales not included with standard bundle, closes plotly#1686

* CRAN submission

* plot_mapbox() should default to scattermapbox unless z is present, fixes plotly#1707

* add visual test for plotly#1674

* update poor test expectations that assume stringsAsFactors defaults to TRUE

* bump version; update news

* update visual tests

* remove rnaturalearth dependency in tests

Co-authored-by: Carson Sievert <cpsievert1@gmail.com>
Co-authored-by: Alexey Stukalov <astukalov@gmail.com>
Co-authored-by: Wim <wfjvdham@gmail.com>
Co-authored-by: Paul Murrell <paul@stat.auckland.ac.nz>
chschan added a commit to Displayr/plotly that referenced this pull request Jul 4, 2022
* Start v4.9.4 release candidate (plotly#1959)

* Add crosstalk mapping to computed_mapping (not mapping) when present (plotly#1964)

* Follow up to plotly#1952: add crosstalk mapping to computed_mapping (not mapping) when present

* use dev version; update news

* v4.9.4.1 release candidate (plotly#1965)

* v4.9.4.1 release candidate

* Reduce some of the warning noise

* Reduce some of the warning noise

* use dev version

* Upgrade to plotly.js 2.0 (plotly#1967)

* wip upgrade to plotly.js 2.0

* patch plotly.js source to support phantomjs/shinytest

reverts part of plotly/plotly.js#5380

* bump mathjax version

* use npm instead of yarn

* make geom_bar() default to textposition='none'; approve new vdiffr 0.4 + plotly.js 2.0 baselines

* Migrate to vdiffr 1.0

* Use layout.legend.title over layout.annotations to when converting guides for discrete scales

* wip migrate to gha

* try npm install

* setup node

* use recommended node version

* try mac instead

* install phantomjs; various cleanup

* intentionally break a visual test

* fix

* use thematic's approach to testing

* bump version

* regenerate snapshots

* map secrets to env variables

* accept new gha baselines

* whoops

* hmm

* approve shinytest baseline

* intentionally break a visual test

* always upload

* revert change; new baselines

* Remove the vdiffr dependency and use testthat snaphots directly

* More obvious env var naming

* more gha details

* always upload

* new snaps

* intentionally break a visual test (again)

* Revert "intentionally break a visual test (again)"

This reverts commit a4e306c.

* Update subplots.R (plotly#1974)

To get rid of "Error is get_domains(length(plots), nrows, margin, widths = widths, heights = heights): The sum of the widths and heights arguments must be less than 1.

* Better positioning of facet axis annotations (plotly#1975)

* Add kaleido() for static image exporting (plotly#1971)

* Close plotly#1970: revert plotly.js 2.0 change in default modebar buttons

* Add save_image(), a convenience wrapper around kaleido()$transform() (plotly#1981)

* Upgrade to plotly.js v2.2.1 (plotly#1982)

* Use Plotly.react() to redraw in Shiny if layout.transition is populated (plotly#2001)

* Use Plotly.react() to redraw in Shiny if layout.transition is populated

* update news

* Update to plotly.js v2.5.1 (plotly#2002)

* update to plotly.js v2.5.1

* new visual baselines

* Closes plotly#2031. ggplot internaly convert `color` to `colour`

* Update README.md

* update baselines

* update URLs

* add_area() now uses barpolar instead of area (plotly#2041)

* Closes plotly#1872. Implemented to_basic for `geom_function`

* 4.10.0 release

* Added unit tests. And ran tests using

* Conformed with carson's review

* Reverted the deletion of _snaps

* Added test to check whether the fix works or not.

* Added test to check whether the fix works or not.

* use dev versioning

* Fix "partial argument match" warnings (plotly#1977)

* No partial-argument-match warning in ggplotly

* Update NEWS.md

* Solved the LaTeX2exp error. Closes plotly#2027 (plotly#2030)

Co-authored-by: Carson Sievert <cpsievert1@gmail.com>

* Revert "Solved the LaTeX2exp error. Closes plotly#2027 (plotly#2030)"

This reverts commit aeaecd6.

* Add ggalluvial support (plotly#2061)

Co-authored-by: Carson Sievert <cpsievert1@gmail.com>
Co-authored-by: Abdessabour Moutik <abds.papa@gmail.com>

* Fix ordering of lines in stat_ecdf() (plotly#2065)

* Handle geom_tile() with no fill aesthetic (plotly#2063)

* More careful joining of group columns (plotly#2064)

* Avoid with() to better account for missing tickvals/ticktext (plotly#2062)

* Test discrete-ness of fill after statistics have been calculated (plotly#2066)

* Announce snapshot files when visual testing isn't enabled so they won't get deleted

* Respect guide(aes = 'none') when constructing legend entries (plotly#2067)

* Add 'plotly_selecting' to acceptable 'on' events (plotly#1280)

* Use faster versions of system.file()/packageVersion()/is_installed() (plotly#2072)

* Bump plotly.js to 2.11.1 (plotly#2096)

* approve new visual baselines

* Use rlang::local_options() in test

* new shinytest baselines; avoid rlang altogether

* plotly.js fix bug when crosstalk filter keys are null (plotly#2087)

* transition `tidyr::gather_` -> `tidyr::pivot_longer` (plotly#2125)

* transition `tidyr::gather_` -> `tidyr::pivot_longer`

* add `NEWS` entry

* Replace `is.na` with `rlang::is_na` in `map_color()` (plotly#2131)

* roxygenize

* Support renderValue within iframe

* Add yaml for auto-P.R./fork updating; RS-2202

* [pull] master from ropensci:master (#2)

* New version of scales no longer 'spans the gamut' of a qualitative color palette

* reduce Reduce() for merging lists

use do.call() instead to avoid quadratic complexity of growing lists

* ensure_one(): reduce noise if attrs are NULL

ignore NULL values

* ggplotly: fix Xaxis anchor if the last row incomplete

attach X axis to the last non-empty row in a column

* stylistic changes

* validate new visual baselines

* Doesn't seem like we need to handle yaxis being a factor

and if we do, it likely needs a different fix

* update shinytest baselines

* ugh maintaining shinytest tests for htmlwidgets is a real pain

* update sf baselines

* go back to using ggplotly() to prepare the widget for shiny rendering

* the extra call to plotly_build() forces more computation then necessary and fixes plotly#1569

* Generation of non-intercept data in hline/vline should respect coord_flip(), closes plotly#1519

* update news; fix typo

* Account for new changes in ggplot2's internal API, fixes plotly#1561

* Break values of positional scales have moved from  to
* Text labels of positional scales have moved from  to
* sf graticule degree labels are now quoted?

* include braces

* gsub

* moar braces

* new sf baselines

* update news

* upgrade to plotly.js v1.49.0

* upgrade to plotly.js v1.49.2

* upgrade to plotly.js v1.49.4

* update baseline

* update shinytest baseline

* make a deep copy of x.layout.width/x.layout.height for use in the resize method, closes plotly#1553

* Wrap user-supplied expression in evalq(), closes plotly#1528

* Use shiny::installExprFunction to register debug hooks

* Asynchronously register plot events

* Revert "Merge pull request plotly#1539 from ropensci/renderWidgetPrep"

This reverts commit d416cea, reversing
changes made to d11bb5a.

* no need to be making deep copies

* Improvements to algorithm for attaching key attribute for shiny's event data, fixes plotly#1610

* Account for pointNumbers
* Do nothing if we don't recognize the case

* When pointNumber is a constant, relay it as such

* handle the 3 cases separately

* use idx instead of i

* update news

* Call setInputValue only if it's defined, closes plotly#1624

* Revert "Revert "Merge pull request plotly#1539 from ropensci/renderWidgetPrep""

This reverts commit 2856731.

* pass along a quoted expr that calls func()

* Revert "go back to using ggplotly() to prepare the widget for shiny rendering"

This reverts commit a0fa68f.

* update news

* verify_webgl() shouldn't warn about types that are already gl, closes plotly#1569

* fix test

* Do not create structure with NULL to remove warnings

* Fix management of environments in renderPlotly(), fixes plotly#1639

Both assignment and evaluation of func() should happen in the local environment

* Add test to prove plotly#1299 fix

* proposed change to avoid peeking at 'grid' unit internals

* improve previous commit

* refactor Paul's unit type commits from plotly#1646

* Some CRAN builds don't have pandoc

* plot_mapbox() shouldn't force a scattermapbox trace type, closes plotly#1608

* fix R CMD check notes

* r-devel apparently doesn't yet have grid::unitType()

* remove outdated travis config

* Validate changes visual baselines due to changes in R3.6's new RNG method

* Add support for new plotly_sunburstclick event, closes plotly#1648

* validate new shinytest baselines

* update news

* fix silly mistake from 3cbccfc

* document

* test expectation should account for changes in the default color palette on r-devel

* improve the aforementioned test example and add a visual test

* Ignore calculated aesthetics that match specified aesthestics

After tidyverse/ggplot2@10fa0014, it's possible for calculated aes to exist for all default_aes

* fix broken link raster2uri and improve the description

* cran hyperlinks must be https

* fix roxygen warning

* In contrast to attr(x, unit), the new grid::unitType() function always return a vector the same length as it's input

* bump to release version; submit to CRAN

* Respect sf's plot12 graticule attribute when building axis ticks, fixes plotly#1673

* Remove missing values in ticktext/tickvals

As discussed in tidyverse/ggplot2#3566 (comment), it's now possible for the ggplot2 labels/positions to contains missing values, and we should be able to simply ignore them

* link to comment

* remove outdated/bad test expectation...the visual baseline covers it

* Don't assume sf geometry is always accessible via [['geometry']], fixes plotly#1659

* validate baselines

* update news

* update to plotly.js 1.52.2

* new baselines

* Add image and treemap visual tests. Also, ensure treemap's stroke reflects the paper's bgcolor

* Add Object.setPrototypeOf polyfill for shinytest and update shinytest json baseline

* Add add_image() for easier rendering of image traces via raster objects

* Bump version, update news, document, add unit test for add_image()

* roxygen escapes % now

* Only call locale_dependency() for locales not included with standard bundle, closes plotly#1686

* CRAN submission

* plot_mapbox() should default to scattermapbox unless z is present, fixes plotly#1707

* add visual test for plotly#1674

* update poor test expectations that assume stringsAsFactors defaults to TRUE

* bump version; update news

* update visual tests

* remove rnaturalearth dependency in tests

Co-authored-by: Carson Sievert <cpsievert1@gmail.com>
Co-authored-by: Alexey Stukalov <astukalov@gmail.com>
Co-authored-by: Wim <wfjvdham@gmail.com>
Co-authored-by: Paul Murrell <paul@stat.auckland.ac.nz>

* Add back missing layout attribute

* Pass element instead of ID

* VIS-992: add test, use rhtmlBuildUtils (#15)

* Initial commit

* Remove prepush

* Final line for plotly.yml

* Re-add lib

* Refactor

* Create test

* Specify rhtmlBuildUtils version

* Remove preinstall script

* Delete package-lock.json

* Update documentation

* Update documentation and remove library

* Restore files

* Restore file

* Update build files

* VIS-933: add rhtmlwidget-status attribute (#16)

* Test callback

* Update compiled files

* Add rhtmlwidget-status attribute

* wording change

* VIS-1064: fix PPT exporting issue (#17)

* Candidate fix

* Bump version

* Update widgetdefinition.js and build

Co-authored-by: Carson Sievert <cpsievert1@gmail.com>
Co-authored-by: Abhilash Lakshman <46469834+abhilashlakshman@users.noreply.github.com>
Co-authored-by: Abdessabour Moutik <abds.papa@gmail.com>
Co-authored-by: Jack Parmer <jparmer09@gmail.com>
Co-authored-by: bersbersbers <12128514+bersbersbers@users.noreply.github.com>
Co-authored-by: casperhart <39182232+casperhart@users.noreply.github.com>
Co-authored-by: Simon P. Couch <simonpatrickcouch@gmail.com>
Co-authored-by: Paul Hoffman <mojaveazure@users.noreply.github.com>
Co-authored-by: Jeffrey Shen <jeffrey.shen@displayr.com>
Co-authored-by: flipDevTools <opensource@displayr.com>
Co-authored-by: pull[bot] <39814207+pull[bot]@users.noreply.github.com>
Co-authored-by: Alexey Stukalov <astukalov@gmail.com>
Co-authored-by: Wim <wfjvdham@gmail.com>
Co-authored-by: Paul Murrell <paul@stat.auckland.ac.nz>
Co-authored-by: Justin Yap <JustinCCYap@users.noreply.github.com>
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants