我想使用ggplot2为地图上的每个位置生成一个条形图,就像xingmowang使用基本图形和许多包一样:
http://nzprimarysectortrade.wordpress.com/2011/10/02/let-r-fly-visualizing-export-data-using-r/

这与在图中嵌入微型图有关.
目前,我能做的最好的事情是在抖动的点图中将值与点大小匹配:
require(ggplot2)
require(maps)
#Get world map info
world_map <- map_data("world")
#Creat a base plot
p <- ggplot() + coord_fixed()
#Add map to base plot
base_world <- p + geom_polygon(data=world_map,
aes(x=long,
y=lat,
group=group))
#Create example data
geo_data <- data.frame(long=c(20,20,100,100,20,20,100,100),
lat=c(0,0,0,0,0,0,0,0),
value=c(10,30,40,50,20,20,100,100),
Facet=rep(c("Facet_1", "Facet_2"), 4),
colour=rep(c("colour_1", "colour_2"), each=4))
#Creat an example plot
map_with_jitter <- base_world+geom_point(data=geo_data,
aes(x=long,
y=lat,
colour=colour,
size=value),
position="jitter",
alpha=I(0.5))
#Add faceting
map_with_jitter <- map_with_jitter + facet_wrap(~Facet)
map_with_jitter <- map_with_jitter + theme(legend.position="none")
print(map_with_jitter)
Run Code Online (Sandbox Code Playgroud)

有一个不优雅的解决方法:
subset_data <- …Run Code Online (Sandbox Code Playgroud) 早期我发布了一个关于使用ggplot在地图上绘制县名的问题以及在此处找到的地图.我的第一种方法是采用每个县的所有纬度和长坐标的方法,如下所示:

值得庆幸的是,Andrie提出了两个建议,即使用范围中心改善居中,然后是coord_map(){这似乎可以保持宽高比正确}.这在很大程度上改善了中心位置,如下所示:

我认为这看起来更好,但在重叠问题上仍然存在一些困难.我希望进一步提高中心性(在同一个线程中Justin提出了一个kmeans方法).如果有必要,我可以旋转文本,但我希望在必要时将它们居中并旋转(它们超出县界),以便在地图上最好地显示县名.
有任何想法吗?
library(ggplot2); library(maps)
county_df <- map_data('county') #mappings of counties by state
ny <- subset(county_df, region=="new york") #subset just for NYS
ny$county <- ny$subregion
p <- ggplot(ny, aes(long, lat, group=group)) + geom_polygon(colour='black', fill=NA)
#my first approach to centering
cnames <- aggregate(cbind(long, lat) ~ subregion, data=ny, FUN=mean)
ggplot(ny, aes(long, lat)) +
geom_polygon(aes(group=group), colour='black', fill=NA) +
geom_text(data=cnames, aes(long, lat, label = subregion), size=3)
#Andrie's much improved approach to centering
cnames <- aggregate(cbind(long, lat) ~ subregion, data=ny,
FUN=function(x)mean(range(x)))
ggplot(ny, …Run Code Online (Sandbox Code Playgroud) 使用RI想要通过显示其他值的饼图替换二维散点图中的点.
理性的背后是我有数百种元素(蛋白质)的时间序列数据,这些元素来源于监测4种条件的生物实验.我想在y轴上绘制元素(分类数据)并在x轴上绘制事件的时间.为了可视化4个条件之间的相对发生,我想以饼图或圆环图的形式将其可视化,重叠显示在散点图中的相应点上.总体数据密度低,因此重叠不会成为问题.
这可能在R?我在考虑在ggplot2中使用手动缩放,但无法弄清楚如何将饼图定义为缩放.
同样令人感兴趣的是如何最好地聚集这些数据并对其进行相应的排序.
我想在地图上独立移动两个传说以节省保存并使演示更好.
这是数据:
## INST..SUB.TYPE.DESCRIPTION Enrollment lat lng
## 1 CHARTER SCHOOL 274 42.66439 -73.76993
## 2 PUBLIC SCHOOL CENTRAL 525 42.62502 -74.13756
## 3 PUBLIC SCHOOL CENTRAL HIGH SCHOOL NA 40.67473 -73.69987
## 4 PUBLIC SCHOOL CITY 328 42.68278 -73.80083
## 5 PUBLIC SCHOOL CITY CENTRAL 288 42.15746 -78.74158
## 6 PUBLIC SCHOOL COMMON NA 43.73225 -74.73682
## 7 PUBLIC SCHOOL INDEPENDENT CENTRAL 284 42.60522 -73.87008
## 8 PUBLIC SCHOOL INDEPENDENT UNION FREE 337 42.74593 -73.69018
## 9 PUBLIC SCHOOL …Run Code Online (Sandbox Code Playgroud) 我想将条形图添加到 ggplot2 中的地图中。存在类似的问题(这个和这个),但他们的答案涉及 ggsubplot,它已被弃用。
geom_scatterpie()提供了一种使用饼图执行此操作的方法(示例 1,也请参阅示例 2),但饼图在视觉上不如条形图直观。同样,我们可以使用此处的geom_sf(size=)说明将气泡大小绘制到地图上。那么有没有办法用 bar 来做到这一点呢?
每个位置制作一根酒吧的可重复示例:
# devtools::install_github("hrbrmstr/albersusa")
library(albersusa)
library(sf)
library(ggplot2)
# make a map
statesus <- fortify(usa_sf("laea"))
p <- ggplot() +
geom_sf(data=statesus, size=0.4)
# set up the data
lat <- c(-68.24, -109.88, -80.88, -113.85)
lon <- c(44.35, 38.24, 25.37, 48.75)
park <- c("Acadia", "Canyonlands", "Everglades", "Glacier")
proportion <- c(0.10, 0.80, 0.05, 0.45) # bar heights
parkdat <- data.frame(lat=lat, lon=lon, park=park, proportion=proportion)
parkdatsf <- …Run Code Online (Sandbox Code Playgroud)