2017-10-19 4 views
0

私のデータの機能に溺れた地理的なカートを取得しようとしています。そして私はそれを得るが、私の問題は、どのようにggplot2を使って関連するラベルを記述した凡例を持つ地域マップの凡例を追加するのか?ggplot2を使用しているグラフィカルカートではGeom_textと注釈が機能しません

整数で注釈を付けた各地域の名前を表示する必要があります。

たとえば、1:Paris と1がカートに入っています。

私のコードは次のとおりです。

library(maps) 
    library(maptools) 
    library(scales) 
    IleFrance <- map_data('france',region=c("Paris","Seine-et-Marne","Yvelines","Essonne","Hauts-de-Seine","Seine-Saint-Denis","Val-de-Marne","Val-DOise")) 
    v1=rep(1256,each=18) 
    v2=rep(833,each=26) 
    v3=rep(540,each=71) 
    v4=rep(523,each=30) 
    v5=rep(488,each=76) 
    v6=rep(379,each=124) 
    v7=rep(348,each=30) 
    v8=rep(302,each=63) 
    x=IleFrance$long 
    y=IleFrance$lat 
    Effectif=c(v8,v3,v6,v4,v2,v1,v7,v5) 
    ggplot(IleFrance, aes(x, y))+ 
     geom_polygon(aes(group = group, fill =Effectif)) 

この作品、それは私に与える:

https://i.stack.imgur.com/AyyJo.png

しかし、私はしたい。このようないくつかのこと:

[ここに画像の説明を入力します]、[ 2]

このコードを追加します:

c1=c(1:8) 
    c2=c("Paris","Hauts-de-Seine","Yvelines","Val-de-Marne","Essonne","Seine-et-Marne","Seine-Saint-Denis","Val-DOise")   
    lat1=mean(IleFrance[which(IleFrance$group==6),"lat"]) 
    long1=mean(IleFrance[which(IleFrance$group==6),"long"]) 
    lat2=mean(IleFrance[which(IleFrance$group==5),"lat"]) 
    long2=mean(IleFrance[which(IleFrance$group==5),"long"]) 
    lat3=mean(IleFrance[which(IleFrance$group==2),"lat"]) 
    long3=mean(IleFrance[which(IleFrance$group==2),"long"]) 
    lat4=mean(IleFrance[which(IleFrance$group==7),"lat"]) 
    long4=mean(IleFrance[which(IleFrance$group==7),"long"]) 
    lat5=mean(IleFrance[which(IleFrance$group==8),"lat"]) 
    long5=mean(IleFrance[which(IleFrance$group==8),"long"]) 
    lat6=mean(IleFrance[which(IleFrance$group==3),"lat"]) 
    long6=mean(IleFrance[which(IleFrance$group==3),"long"]) 
    lat7=mean(IleFrance[which(IleFrance$group==4),"lat"]) 
    long7=mean(IleFrance[which(IleFrance$group==4),"long"]) 
    lat8=mean(IleFrance[which(IleFrance$group==1),"lat"]) 
    long8=mean(IleFrance[which(IleFrance$group==1),"long"]) 
    long1=c(long1,long2,long3,long4,long5,long6,long7,long8) 
    lat1=c(lat1,lat2,lat3,lat4,lat5,lat6,lat7,lat8) 
    df2=data.frame(lat1,long1,c1,c2) 

だから私はので、私はこのようでした先例カートとしてプロットする新しいデータフレームを作成します。

ggplot(IleFrance, aes(x, y))+ 
    geom_polygon(aes(group = group, fill =value))+ 
    geom_text(data=df2,aes(x=lat1,y=long1,label=c1,group=c1), size=4)+ 
    annotate("text", x=1.5, y=48, 
      label=paste(df2$c1,":",df2$c2,sep=""), 
      size=1, hjust=0) 

が、それは作業あなたの助けを必要としてください!

答えて

0
ggplot(IleFrance, aes(x, y))+ 
    geom_polygon(aes(group = group, fill =Effectif)) + 
    geom_text(data=df2, aes(x=long1,y=lat1,label=paste(c1, c2, sep=":")), size=3, hjust=0) 

enter image description here

+0

非常にアダムをありがとうございます!それは働く –

関連する問題