2016-10-18 11 views
1

にIデータ割り当て色ggplot2

A  Latitude Longitude 
0.03336078 54.7000 -8.783333 
0.12310763 54.21667 -10.033333 
0.02180472 54.5000 -8.266667 
0.74797928 52.63333 -9.483333 
0.89240053 53.0833 -6.533333 
0.35005815 52.1500 -7.166667 

の3つの列を持っている私は、各点が円で表されている地図上にこれらをプロットしたいと各円は、の範囲を使用して着色されています値は、値と色のこの範囲は以下の通りである:

黄色0.004:0.277 緑色0.277:0.549 ピンク0.549:0.822 赤0.822:1.094

Iマップとpをプロットすることができoints私は伝説が出て仕事を得ることができない、これまでのところ、私は、次の

Ireland <- get_map("Ireland", zoom=7) 
I <- ggmap(Ireland) 
map <- I + geom_point(data = initialData, aes(x = Longitude, y = Latitude, fill = A)) + labs(x = "", y = "") + scale_color_manual(values = c("yellow", "green", "pink", "red") +........????) 

を管理してきた私は、私は上記の通りの値の範囲を作成し、色が、私にそれらを一致させる必要が推測していますどのようにこれを行うかを理解するために苦労しています。誰も私に操縦を与えることができますか?

+1

連続塗りをカテゴリ塗りにしたい場合は、変数を 'cut'して、新しい変数を塗りつぶし変数としてマップし、answers [here]のように' scale_fill_manual'を使って色を設定します(http:// stackoverflow .com/questions/10981324/ggplot2-heatmap-with-ranged-values)を参照してください。塗りつぶし可能な点を使用していることを確認し、そうでなければ 'color'に切り替えます。 – aosmith

+1

代わりに、連続したカラーバーが必要な場合は、色と区切りを使用して、[scale_fill_gradientn]を使用して色を設定し、[この質問](http://stackoverflow.com/questions/13888222/ – aosmith

+0

@aosmithあなたの指示があっても、ポインタのためにありがとう、私はしばらくの間苦労しましたが、ついにそこに着いた。再度、感謝します。 – TheGoat

答えて

1

上記の@aosmithからのポインタを使用して、私は元の質問に答えた次のコードを一緒にハックすることができ、プロジェクトの次の側面に進むのに役立ちます。

library(ggplot2) 
library(ggmap) 

setwd("C:/Users/Bo Bo/Documents") 

csv <- read.csv("Data Sampler.csv", sep = ",", colClasses = c("character","numeric","integer","character","character","character","numeric","numeric")) 

csv$A1 <- cut(csv$A,breaks = c(0.004,0.277,0.549,0.822,1.094),right = FALSE) 

mapIreland <- get_map(location = c(lon = mean(csv$Longitude),lat = mean(csv$Latitude)), zoom = 7, maptype = "roadmap", scale = 2) 

ggmap(mapIreland) + geom_point(data = csv, aes(x = csv$Longitude, y = csv$Latitude, fill = csv$A1), size = 5, shape = 21) + labs(x = "",y = "") + scale_fill_manual(values = c("yellow","green","pink","red"),breaks = c(0.004,0.277,0.549,0.822,1.094)) 

次の問題は、対応する凡例をマップに追加して、カット変数がマップの右上隅に表示されるようにすることです。引数 "name"はscale_fill_manual関数で指定することができますが、何らかの理由でそれが表示されていないと思います。私はマップのズームと関係があるかもしれません、私は今この問題を検討しています。