我需要帮助使用R中的地图,这是我第一次尝试使用R的映射工具,并且需要帮助。我正试图为一座城市的每家餐厅绘制Yelp的明星收视率。我开始的代码只给出餐厅的位置,而不是星级。我希望有一个梯度的星级,5是红色,1是黄色,或在那里左右。任何帮助都是非常感谢的!
library(ggmap)
Phoenix <- get_map(location = 'Phoenix', zoom = 11)
ggmap(Phoenix)
mapPoints <- ggmap(map) + geom_point(aes(x=longitude, y=latitude, size=sqrt(stars)), data=cleanDataFrame, alpha=.1)我正在使用的数据框架的结构如下:
business_id longitude stars latitude duration
1 --5jkZ3-nUPZxUvtcbr8Uw -111.9269 4.5 33.46337 381
2 --BlvDO_RG2yElKu9XA1_g -111.8983 4.0 33.62146 690
3 -_Ke8q969OAwEE_-U0qUjw -112.1863 4.5 33.65387 604
4 -_npP9XdyzILAjtFfX8UAQ -112.0739 3.0 33.44990 1916
5 -2xCV0XGD9NxfWaVwA1-DQ -112.2766 4.0 33.56626 226
6 -3WVw1TNQbPBzaKCaQQ1AQ -112.0692 3.5 33.48585 2190发布于 2014-03-30 02:08:54
你是想根据星星的数量来给点着色吗?
加载数据帧:
df <- read.table(text=' business_id longitude stars latitude duration
1 --5jkZ3-nUPZxUvtcbr8Uw -111.9269 4.5 33.46337 381
2 --BlvDO_RG2yElKu9XA1_g -111.8983 4.0 33.62146 690
3 -Ke8q969OAwEE-U0qUjw -112.1863 4.5 33.65387 604
4 -_npP9XdyzILAjtFfX8UAQ -112.0739 3.0 33.44990 1916
5 -2xCV0XGD9NxfWaVwA1-DQ -112.2766 4.0 33.56626 226
6 -3WVw1TNQbPBzaKCaQQ1AQ -112.0692 3.5 33.48585 2190')
并绘制您的图像,同时为点定义一个颜色梯度(如您所说的黄色到红色)。
ggmap(Phoenix) + geom_point(aes(x=longitude, y=latitude, color=stars), size=5, data=df, alpha=.3) + scale_color_gradient(low="yellow",high="red")
这将产生以下结果(我已经增加了alpha和大小,以便更容易看到):

https://stackoverflow.com/questions/22739076
复制相似问题