2016-11-18 11 views
1

プロットされる60の町があるマップがあります。 町の名前を表示したいのですが、あまりにも混雑しています。番号を付ける方法はありますか?その名前を以下のような伝説として表示しますか?R:凡例としてプロット内にテキストを表示

Required image

私は「キャリブレーション」のパッケージから「textxy」機能を試してみましたが、それは唯一のマップに表示されます。

ありがとうございます!

答えて

0

パッケージggmapを使用してください。ベースマップを取得し、ggplot関数を使用してマップの上に座標をプロットすることができます。あなたはすべての都市が同じ色にしたい場合は、代わりにcolor = cityfill = cityを使用

library(ggmap) 
library(dplyr) 

# Get the base map 
nevada <- get_map(location = 'nevada', maptype = "satellite", source = "google", zoom = 6) 

# View the basemap 
ggmap(nevada) 

# Create data frame with cities and lat/long and an index 
cities <- data.frame(city = c("Las Vegas", "Caliente", "Elko"), 
       lat = c(36.169941, 37.614965, 40.832421), 
       long = c(-115.13983, -114.511938, -115.763123)) 
cities <- cities %>% mutate(index = seq.int(nrow(cities))) 

# Map with legend, colored by city 
ggmap(nevada) + 
    geom_point(data = cities, aes(x = long, y = lat, color = paste(index, city)), cex = 3) + 
    labs(color = "cities") + 
    geom_text(data = cities, aes(x = long, y = lat, label = index), hjust = 2, color = "white") 

Map with legend, colored by city

aes()の外に色(例えばcolor = "red")を指定します。ここでは再現性の例です。

# Map with legend, all cities same color 
ggmap(nevada) + 
    geom_point(data = cities, aes(x = long, y = lat, fill = city), cex = 3, color = "red") + 
    labs(fill = "cities") + 
    geom_text(data = cities, aes(x = long, y = lat, label = index), hjust = 2, color = "white") 

Map with legend, cities same color

関連する問題