2014-04-05 44 views
0

我打算使用R中的地圖繪製弗吉尼亞州不同城市的溫度 我對我的數據集中的所有城市都有以下變量。使用R中的地圖繪製弗吉尼亞城市的溫度

Name of city, Latitude, Longitude, Temperature 

我需要額外的變量或包來顯示溫度。

我是否需要創建一個鄰接矩陣或者我應該尋找哪些函數來執行此操作?

我的最終目標是顯示地圖上的溫度與相應的城市名稱。

+0

你想按溫度着色還是打印? –

+0

我寧願爲溫度着色 – user3453272

回答

1

假設你的數據是在一個名爲tempdat data.frame,你可以使用下面的代碼放在溫度爲文本在每個點:

library(maps) 
map("state", "Virginia") 
text(tempdat$long, tempdat$lat, label=tempdat$temperature) 

例如,您可以通過過濾列表創建tempdat美國城市建成地圖包爲那些在弗吉尼亞州,然後添加隨機溫度:

data(us.cities) 
tempdat= us.cities[us.cities$country.etc == "VA", ] 
tempdat$temperature = round(rnorm(nrow(tempdat), mean=75, sd=5)) 

此時的情節會是這個樣子(這是太擁擠,所以如果你的城市集是這個擁擠你媽你想用顏色而不是文字來繪製溫度。您可以使用R內置的points函數來做任何事情,您可以在這裏完成)。

enter image description here

+0

非常感謝您的及時迴應。 – user3453272

+0

要繪製彩色點,以下內容可能會有所幫助,建立在此答案上:'tempdat $ tempcut < - cut(tempdat $ temperature,breaks = 20);地圖(「州」,「弗吉尼亞州」); (tempdat,points(long,lat,pch = 21,bg = heat.colors(20)[tempcut]))'。如果您想要自定義調色板,請參閱'?colorRampPalette'。 – jbaums

+0

嗨,我正在嘗試它。它對弗吉尼亞州運作良好。 – user3453272

相關問題