Я пытаюсь создать красивый участок пузыря, наложенный поверх базовой карты США (я могу импортировать шейп-файл, если это предпочтительно, но я был с помощью базовых карт R.R Создайте пространственный участок пузырька, который накладывает базовую карту США и другие пространственные слои по мере необходимости
library(ggplot2,sp,raster,maps,mapdata,maptools,ggmap,rgeos)
myData = data.frame(name=c("Florida","Colorado","california","Harvard","Yellowstone"),
lat=c(28.1,39,37,42,44.6),
long=c(-81.6,-105.5,-120,-71,-110),
pop=c(280,156,128,118,202))
используя этот код, приведенный ниже, что я адаптировано из другого переполнения стека пост (Create bubble plot in R using satellite map), я могу наложить пузырь участок на карте США. Однако это проявляется очень медленно, степень слишком тугая, она ограничена в ящике, я не могу добавить другие слои к сюжету из того, что я могу сказать, а базовая карта толстая и не визуально чистая.
xy <- myData[,c("long", "lat")]
nl <- getData('GADM', country="USA", level=1) #raster data, format SpatialPolygonsDataFrame
nl <- gSimplify(nl, tol=0.01, topologyPreserve=TRUE)
# coercing the polygon outlines to a SpatialLines object
spl <- list("sp.lines", as(nl, "SpatialLines"))
SPDF <- SpatialPointsDataFrame(coords=xy, data=myData)
coordinates(myData) <- c("lat", "long")
projection(SPDF)<- "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs +towgs84=0,0,0"
coordinates(SPDF)[1:5,] #retrieves spatial coordinates form the dataframe
bubble(SPDF, "pop", sp.layout=spl, main="This is It!")
Я могу нарисовать хорошую базовую карту, используя этот код. Я добавляю точки к карте, но они не сортируются по столбцу pop в моих данных. И я могу добавить дополнительные слои к этой карте. Но могу ли я контролировать размер точек и самого символа, как я могу использовать сюжет пузыря?
map(database= "world", ylim=c(45,90),
xlim=c(-160,-50), col="grey80",
fill=TRUE, projection="gilbert",
orientation= c(90,0,225))
coord <- mapproject(myData$lon, myData$lat, proj="gilbert",orientation=c(90, 0, 225))
points(coord, pch=20, cex=1.2, col="red")
Может кто-нибудь, пожалуйста, руководство меня к наилучшим образом построить карту пузыря в R, где я могу настроить заливку и контур символов в карте пузыря, и я могу добавить чистую базовую карту, что я могу a) контролировать цвета (заливка и линии) и b) добавлять дополнительные слои (например, еще один слой в шейп-файл).
Заранее благодарю за любой совет.
СПАСИБО! это прекрасно работает и позволяет мне гибко добавлять новые слои и управлять проекционной информацией.Первый ответ короткий и элегантный, но он начал разваливаться, когда я пытался добавить другие слои. я буду продвигать его, когда у меня хватит репутации, чтобы сделать это :) –
Немного проблемы. Что я делаю не так? > us <- readOGR (dsn = "http://eric.clst.org/wupl/Stuff/gz_2010_us_040_00_500k.json", layer = "OGRGeoJSON") Ошибка в ogrInfo (dsn = dsn, layer = layer, encoding = encoding , use_iconv = use_iconv,: Невозможно открыть файл – lawyeR
@lawyeR Интересно, если ';' сразу после '.json' вызывает сообщение об ошибке. – jazzurro