ggplot / plotly点动画与geom_sf?

时间:2018-09-30 03:28:12

标签: r ggplot2 r-plotly sf

我正在尝试执行此代码,以将状态形状文件覆盖在经纬度坐标上。我还试图使该功能动起来,以显示SznYr(按季节和年份组合)的变化。

    structure(list(SITEID = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L), .Label = c("SB003", "SB014", "SB023", "SB035", "SB036", 
"SB038", "SB077", "SB098", "SB105", "SB106", "SB107", "SB109", 
"SB110", "SB111", "SB117", "SB120", "SB128", "SB202", "SB203", 
"SB204", "SB205", "SB206", "SB207", "SB209", "SB212", "SB213", 
"SB214", "SB215", "SB216", "SB217", "SB218", "SB219", "SB220", 
"SB222", "SB223", "SB230", "SB231", "SB232", "SB233", "SB234", 
"SB238", "SB240", "SB245", "SB251", "SB252", "SB254", "SB255", 
"SB257", "SB260", "SB264", "SB265", "SB266", "SB267", "SB268", 
"SB269", "SB270", "SB271", "SB273", "SB274", "SB275", "SB276", 
"SB277", "SB279", "SB280", "SB281", "SB282", "SB283", "SB284", 
"SB285", "SB287", "SB289", "SB299", "SB315", "SB316", "SB320", 
"SB324", "SB325", "SB346", "SB352", "SB353", "SB354", "SB356", 
"SB357", "SB358", "SB359", "SB360", "SB361", "SB362", "SB363", 
"SB364", "SB365", "SB366", "SB367", "SB368", "SB370", "SB371", 
"SB372", "SB373", "SB374", "SB375", "SB376", "SB377", "SB378", 
"SB379", "SB380", "SB381", "SB400", "SB401", "SB402", "SB403", 
"SB404", "SB405", "SB406", "SB407", "SB408", "SB409", "SB410", 
"SB412", "SB413", "SB414", "SB415", "SB416", "SB417", "SB419", 
"SB420", "SB421", "SB422", "SB423", "SB424", "SB425", "SB426", 
"SB427", "SB428", "SB429", "SB430", "SB431", "SB432", "SB433", 
"SB434", "SB435", "SB436", "SB437", "SB438", "SB439", "SB440", 
"SB441", "SB442", "SB443", "SB444", "SB445", "SB446", "SB447", 
"SB448", "SB449", "SB450", "SB451", "SB452", "SB453", "SB454", 
"SB455", "SB456", "SB457", "SB458", "SB459", "SB460", "SB462", 
"SB463", "SB464", "SB465", "SB466", "SB467", "SB468", "SB469", 
"SB470", "SB471", "SB472", "SB473", "SB474", "SB475", "SB476", 
"SB477", "SB478", "SB479", "SB501", "SB503", "SB506", "SB514", 
"SB520", "SB529", "SB531", "SB535", "SB543", "SB548", "SB556", 
"SB559", "SB563", "SB564", "SB565", "SB568", "SB573", "SB574", 
"SB575", "SB587", "SB594", "SB595", "SB630", "SB654", "SB661", 
"SB683", "SB718", "SB719", "SB726", "SB727", "SB728", "SB745", 
"SB759", "SB761", "SB762"), class = "factor"), LAT = c(39.55428, 
39.55428, 39.55428, 39.55428, 39.55428, 39.55428, 39.55428, 39.55428, 
39.55428, 39.55428), LONG = c(-98.69211, -98.69211, -98.69211, 
-98.69211, -98.69211, -98.69211, -98.69211, -98.69211, -98.69211, 
-98.69211)), .Names = c("SITEID", "LAT", "LONG"), row.names = c(NA, 
-10L), class = c("grouped_df", "tbl_df", "tbl", "data.frame"), vars = "SITEID", drop = TRUE, indices = list(
    0:9), group_sizes = 10L, biggest_group_size = 10L, labels = structure(list(
    SITEID = structure(2L, .Label = c("SB003", "SB014", "SB023", 
    "SB035", "SB036", "SB038", "SB077", "SB098", "SB105", "SB106", 
    "SB107", "SB109", "SB110", "SB111", "SB117", "SB120", "SB128", 
    "SB202", "SB203", "SB204", "SB205", "SB206", "SB207", "SB209", 
    "SB212", "SB213", "SB214", "SB215", "SB216", "SB217", "SB218", 
    "SB219", "SB220", "SB222", "SB223", "SB230", "SB231", "SB232", 
    "SB233", "SB234", "SB238", "SB240", "SB245", "SB251", "SB252", 
    "SB254", "SB255", "SB257", "SB260", "SB264", "SB265", "SB266", 
    "SB267", "SB268", "SB269", "SB270", "SB271", "SB273", "SB274", 
    "SB275", "SB276", "SB277", "SB279", "SB280", "SB281", "SB282", 
    "SB283", "SB284", "SB285", "SB287", "SB289", "SB299", "SB315", 
    "SB316", "SB320", "SB324", "SB325", "SB346", "SB352", "SB353", 
    "SB354", "SB356", "SB357", "SB358", "SB359", "SB360", "SB361", 
    "SB362", "SB363", "SB364", "SB365", "SB366", "SB367", "SB368", 
    "SB370", "SB371", "SB372", "SB373", "SB374", "SB375", "SB376", 
    "SB377", "SB378", "SB379", "SB380", "SB381", "SB400", "SB401", 
    "SB402", "SB403", "SB404", "SB405", "SB406", "SB407", "SB408", 
    "SB409", "SB410", "SB412", "SB413", "SB414", "SB415", "SB416", 
    "SB417", "SB419", "SB420", "SB421", "SB422", "SB423", "SB424", 
    "SB425", "SB426", "SB427", "SB428", "SB429", "SB430", "SB431", 
    "SB432", "SB433", "SB434", "SB435", "SB436", "SB437", "SB438", 
    "SB439", "SB440", "SB441", "SB442", "SB443", "SB444", "SB445", 
    "SB446", "SB447", "SB448", "SB449", "SB450", "SB451", "SB452", 
    "SB453", "SB454", "SB455", "SB456", "SB457", "SB458", "SB459", 
    "SB460", "SB462", "SB463", "SB464", "SB465", "SB466", "SB467", 
    "SB468", "SB469", "SB470", "SB471", "SB472", "SB473", "SB474", 
    "SB475", "SB476", "SB477", "SB478", "SB479", "SB501", "SB503", 
    "SB506", "SB514", "SB520", "SB529", "SB531", "SB535", "SB543", 
    "SB548", "SB556", "SB559", "SB563", "SB564", "SB565", "SB568", 
    "SB573", "SB574", "SB575", "SB587", "SB594", "SB595", "SB630", 
    "SB654", "SB661", "SB683", "SB718", "SB719", "SB726", "SB727", 
    "SB728", "SB745", "SB759", "SB761", "SB762"), class = "factor")), row.names = c(NA, 
-1L), class = "data.frame", vars = "SITEID", drop = TRUE, .Names = "SITEID"))

library(sf)
library(raster)
USA <- shapefile("/Users/admin/Desktop/EOS_Files/USA_adm1/USA_adm1.shp")
Kansas <- USA[USA$NAME_1 == "Kansas",]
Kansas <- st_as_sf(Kansas)

p <- ggplotly(sitebyspec, aes(sitebyspec$LONG, sitebyspec$LAT, color = sitebyspec$Ecoregions, frame = sitebyspec$SznYr)) +
  geom_point()
p + geom_sf(data=Kansas)

但是此代码不起作用。看起来应该,但事实并非如此。我收到以下两个错误...

  

UseMethod(“ ggplotly”,p)中的错误:     没有适用于“ ggplotly”的适用方法应用于类“ c('grouped_df','tbl_df','tbl','data.frame')”的对象。
  p + geom_sf中的错误(数据=堪萨斯州):     二进制运算符的非数字参数

0 个答案:

没有答案