在R的地图上绘制每个县的教师数量

时间:2018-03-16 19:17:22

标签: r ggplot2 scale

我有两个数据集MASS和MASS2在R中创建一个地图。我在库(ggmap)的帮助下得到了第一个数据集。

counties<-map_data('county')
MASS<-map_data('county', 'massachusetts')

 str(MASS)
 data.frame':   744 obs. of  6 variables:
 $ long       : num  -70.7 -70.5 -70.5 -70.5 -70.5 ...
 $ lat        : num  41.7 41.8 41.8 41.8 41.8 ...
 $ group      : num  1 1 1 1 1 1 1 1 1 1 ...
 $ state      : chr  "massachusetts" "massachusetts" "massachusetts"  ...
 $ county_name: chr  "barnstable" "barnstable" "barnstable" "barnstable" ...

第二个由每个县一个14个点组成,并且每个县都有一个教师的数量数据。

 str(MASS2)
'data.frame':   14 obs. of  6 variables:
 $ state        : chr  "massachusetts" "massachusetts" "massachusetts" ...
 $ county_name  : chr  "barnstable" "berkshire" "bristol" "dukes" ...
 $ long         : num  -70.7 -73.5 -71.2 -70.5 -71 ...
 $ lat          : num  41.7 42 41.7 41.4 42.4 ...
 $ group        : num  1 2 3 4 5 6 7 8 9 10 ...
 $ teacher_count: int  62 40 47  ...

我需要创建一个地图,其中每个teacher_count点将根据教师的金额用圆圈表示。到目前为止,我只得到一个大小的圈子。

我的代码是下一个:

 ggplot(MASS, aes(long,lat, group = group)) +
 geom_polygon(aes(fill = county_name),colour = "black") +
 geom_point(data = MASS2, aes(x = long, y = lat), color = "red", size = 5)+
 theme(legend.position="none") +
 coord_quickmap()

This is the map I get

我在网上找到了一个解决方案,它将geom_point的大小表示为

 +geom_point(......, size = MASS2$teacher_count*circle_scale_amt)+
  scale_size_continuous(range=range(MA$teacher_count)) 

但是R找不到circle_scale_amt。

我是R的新手并且正在努力学习。将欣赏任何其他方式的想法,以他们的数量代表教师!谢谢!

1 个答案:

答案 0 :(得分:0)

在设置circle_scale_amt的值后重新调整点的大小,这对我有用,否则它们会太大。

library(ggmap)

counties <- map_data('county')
MASS <- map_data('county', 'massachusetts')

circle_scale_amt <- 0.05

ggplot(MASS, aes(long,lat, group = group)) +
  geom_polygon(aes(fill = subregion),colour = "black") +
  geom_point(data = MASS2, aes(x = long, y = lat), 
             size = MASS2$teacher_count * circle_scale_amt,
             color = "red", alpha = 0.6)+
  scale_size_continuous(range = range(MASS2$teacher_count)) +
  theme(legend.position="none") +
  coord_quickmap()

reprex package(v0.2.0)创建于2018-03-16。