2014-04-05 43 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

相关问题