2012-04-26 5 views
7

この式は私のprevious questionにつながります。私は総人口を表す点をプロットしたいと思っており、これまではscale_sizeを使って、その人口に対するドットのサイズを作っていました。Rでは、ggplot2でscale_sizeを使ってドットを透明にする方法は?

しかし、ドットがマップを覆っているので、これらのドットを透明にしたい。しかし、私が送ろうとしているメッセージがはっきりしている限り、私は他の選択肢も開いています。 enter image description here

# load required packages 
library(ggmap) 
library(ggplot2) 

# query map of Birmingham, AL 
al1 <- get_map(location = c(lon = -86.304474, lat = 32.362563), zoom = 11, 
     source = "osm", maptype = 'terrain') 

al1MAP <- ggmap(al1)+ geom_point(data=quote_bmh, 
      aes(x=IntPtLon, y=IntPtLat, size=TotPop, colour="gold2"), 
      colour="gold2") + scale_size(range=c(0,15)) 
+3

代替は、例えば使用して、人口の点を補間することができます(gstatでのidw)、クリギング(例えば、automap)、またはいくつかのカーネル方法(すなわち、2d密度)のような他の方法を使用することができる。 –

答えて

10

だけgeom_pointalpha = 0.3を追加し、均一な透明性を使用します。 alphaは、必要な透明度に応じて、0〜1の間で指定できます。透明度を変数に依存させる場合は、mapping引数(aesビット)にalpha = var_nameを追加します。var_nameは、透明に使用する変数の列名です。

+1

ポールは素早く、それを見てポストに行き、彼は答えました。 +1 –

+0

ハハ、私は最初に答えの最初の部分をタイプしました。これらの種類の質問はあまりにも迅速に答えられているので、私は速くする必要がありました:) –

+0

うわー、あなたはとても速く答えたので、私はあなたの答えを受け入れるのに10分を待たなければなりません。どうもありがとう! – Ken

5

中空ポイントを使用することもできます。 geom_point(shape = 21)。そうすれば、地点のすぐ下の地図が見やすくなり、地点の端がはっきりと見えるようになります。

(残念ながら、私の雇用・ブロックのGoogle API、私は結果を投稿することはできません)