plotly / plotly/plotly.R

plotly not plotting geom_sf data, "Error in st_coordinates.sfc(sf::st_geometry(model)) : not implemented for objects of class sfc_GEOMETRY"

Open
#1,785 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
R
Stars
2.7k
Forks
641
PR merge metrics
No merged PRs in 30d

Description

Hi,

I am trying to convert this geom_sf plot to plotly, but I keep receiving an error:

library(ggplot2)
library(sf)
library(geojsonsf)
library(plotly)

dk_map <- geojson_sf("https://raw.githubusercontent.com/moestrup/covid19/master/test.json")

mainland <- ggplot(data=dk_map) +
  geom_sf()

mainland

ggplotly(mainland)

sessionInfo()

Gives the following output:

> dk_map <- geojson_sf("https://raw.githubusercontent.com/moestrup/covid19/master/test.json")
> mainland <- ggplot(data=dk_map) +
+   geom_sf()
> mainland

map

> ggplotly(mainland)
Error in st_coordinates.sfc(sf::st_geometry(model)) : 
  not implemented for objects of class sfc_GEOMETRY
> sessionInfo()
R version 3.6.3 (2020-02-29)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 17763)

Matrix products: default

locale:
[1] LC_COLLATE=English_United Kingdom.1252  LC_CTYPE=English_United Kingdom.1252    LC_MONETARY=English_United Kingdom.1252
[4] LC_NUMERIC=C                            LC_TIME=English_United Kingdom.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] plotly_4.9.2.9000 geojsonsf_1.3.3   sf_0.9-3          ggplot2_3.3.0    

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.4         pillar_1.4.3       compiler_3.6.3     class_7.3-15       tools_3.6.3        digest_0.6.25      viridisLite_0.3.0 
 [8] jsonlite_1.6.1     lifecycle_0.2.0    tibble_3.0.0       gtable_0.3.0       pkgconfig_2.0.3    rlang_0.4.6        DBI_1.1.0         
[15] cli_2.0.2          rstudioapi_0.11    curl_4.3           e1071_1.7-3        httr_1.4.1         withr_2.1.2        dplyr_0.8.5       
[22] htmlwidgets_1.5.1  vctrs_0.3.0        classInt_0.4-3     grid_3.6.3         tidyselect_1.0.0   glue_1.3.2         data.table_1.12.8 
[29] R6_2.4.1           fansi_0.4.1        farver_2.0.3       tidyr_1.0.2        purrr_0.3.3        magrittr_1.5       scales_1.1.0      
[36] ellipsis_0.3.0     htmltools_0.4.0    units_0.6-6        assertthat_0.2.1   colorspace_1.4-1   KernSmooth_2.23-16 lazyeval_0.2.2    
[43] munsell_0.5.0      crayon_1.3.4       Cairo_1.5-12      
> 

I thought this was related to issue #1659, and tried installing the newest version of plotly from github (4.9.2.9000) but am still seeing the error above.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the supplied ggplotly(mainland) reproducer and the st_coordinates.sfc error for sf::st_geometry(model). Trace how geom_sf data reaches the ggplotly entry point, then determine how sfc_GEOMETRY objects are handled. Done means the reproducer converts without the reported error and produces the expected interactive map.

Written by the indexing model from the issue text.

Assessment

Tech stack
r
Domain
data-visualization
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.