2012-02-23 17 views
3

世界地図上で、どのように1点をプロットするのですか?ggplot2を使用してワールドマップ上に単一点をプロットするにはどうすればよいですか?

all_states <- map_data("usa") 
p <- p + geom_polygon(data=all_states, aes(x=long, y=lat, group = group, legend = FALSE)) 
p 

また、グリッドと緯度の長い値をマップから削除することはできますか?

+0

エラーや固執点の生成に使用したライブラリを含め、すべてのコードを入力してください。また、{code}を使用してコードタグにコードを含めるか、コード4行のすべての行をインデントしてください。 –

答えて

7
library(maps) 
library(ggplot2) 
world<-map_data('world') 
sf<-data.frame(long=-122.26,lat=37.47) 
p <- ggplot(legend=FALSE) + 
geom_polygon(data=world, aes(x=long, y=lat,group=group)) + 
opts(panel.background = theme_blank()) + 
opts(panel.grid.major = theme_blank()) + 
opts(panel.grid.minor = theme_blank()) + 
opts(axis.text.x = theme_blank(),axis.text.y = theme_blank()) + 
opts(axis.ticks = theme_blank()) + 
xlab("") + ylab("") 
# add a single point 

p <- p + geom_point(data=sf,aes(long,lat),colour="green",size=4) 
p 

:バージョン0.9.2 optsthemeによってreplacedされているので。たとえば、opts(panel.background = theme_blank())theme(panel.background = element_blank())になります。

+1

いいですが、(1)水平線をスクロールせずに見えるように長い線を壊すのが好きです。(2)おそらくプロット 'plot'を呼び出さないことがベストです(ベースRプロット関数の名前と同じです)。 –

+0

ありがとう@BenBolker私はプロットをpに変更しました。 – Maiasaura

+1

いいね。しかし、ここでもう一つの "つかまり"があります。これは、式全体をカッコで囲まない限り、 '+'記号が継続行の先頭ではなく分割された行の*端*になければならないということです。表現が完了したと思う... –

関連する問題