2016-04-06 8 views
1

私は緯度、経度、および価格の3つの列を持っています。 x軸をlat、y軸をlongとしたグラフをプロットしたいと思います。ポイントの色は価格値によって決定されます。 (0-50 $ - 赤、50-100 $青など)。私はggplotsを使ってみましたが、指定された範囲に基づいてポイントの色を付けることはできませんでした。カラービンに基づいてRをグラフにプロットする

latitude longitude price 
40.8520537789 -73.7886796346 100 
40.8411441603 -73.7830522867 100.4 
40.8500238142 -73.7893275949 102 
+1

最初に 'price'カラムに' cut() 'や' findInterval() 'を使ってグループを取得してください。 – thelatemail

+0

私はそれをしました。今私は価格の列に0,1、.. 9(10ビン)を値する。これでどのように解決されますか? – user2609410

答えて

1

これにはplot()関数を使用できます。ここで

がdata.tableである(あるいは、あなたにもdata.frameを使用することができます)

> dt 
    latitude longitude price 
1: 40.85205 -73.78868 100.0 
2: 40.84114 -73.78305 100.4 
3: 40.85002 -73.78933 102.0 

次のコードによって、各行の色を見つけることができます。

color_val <- ifelse(dt[['price']] >= 0 & dt[['price']] <= 50,"red",ifelse(dt[['price']] > 50 & dt[['price']] <= 100,"blue","black")) 

かの方法で@thelatemailで述べたように:

cut(dt$price, c(0,50,100,Inf), labels=c("red","blue","black")) 

さて、あなたは、このコマンドでデータをプロットすることができます

plot(x = dt[['latitude']],y = dt[['longitude']],col = color_val) 

注:これは普通にプロットされますxy座標。

+2

すべての 'ifelse'コーディングは' cut(dt $ price、c(0,50,100、Inf)、labels = c( "red"、 "blue"、 "black")) ' – thelatemail

+0

@thelatemailこれを指摘するために! –