2012-04-26 10 views
7

To równanie prowadzi z mojego previous question. Chcę wykreślić kropki, które reprezentują całkowitą populację i do tej pory użyłem scale_size do rozmiaru kropek w stosunku do całkowitej populacji.W R, jak zrobić przezroczyste kropki przy użyciu scale_size w ggplot2?

Ale chcę, aby te kropki były przezroczyste, ponieważ kropki pokrywają mapę. Jestem jednak otwarty na inne opcje, o ile wiadomość, którą próbuję wysłać, jest jasna. 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

Alternatywą może być interpolować punkty ludność korzystająca np interpolacja ważona na odległość ('idw' w' gstat'), kriging (np. 'automap') lub inna metoda jądra (to znaczy gęstość 2d). –

Odpowiedz

10

Aby użyć jednolitego przejrzystości, wystarczy dodać alpha = 0.3 do geom_point. alpha może zawierać się w przedziale od 0 do 1, w zależności od żądanej przezroczystości. Jeśli chcesz, aby przezroczystość była zależna od zmiennej, po prostu dodaj alpha = var_name do argumentu mapping (bit), gdzie var_name jest nazwą kolumny zmiennej, której chcesz użyć do przezroczystości.

+1

Dang, że Paul jest szybki, zobaczył go i poszedł do postu i bam odpowiedział. +1 –

+0

Hahah, najpierw wpisałem pierwszą część odpowiedzi, a następnie edytowałem, aby dodać więcej szczegółów. Tego typu pytania są udzielane zbyt szybko, więc musiałem być szybki :). –

+0

Wow, odpowiedziałeś tak szybko, że musiałem czekać dziesięć minut, aby przyjąć twoją odpowiedź. Wielkie dzięki! – Ken

5

Inną alternatywą jest użycie pustych punktów, np. geom_point(shape = 21). Dzięki temu mapa bezpośrednio pod punktem będzie czytelna, a krawędzie punktów będą wyraźnie widoczne.

(Niestety, moje bloki pracodawca API Google, więc nie mogę pisać wynik)

Powiązane problemy