首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R/梯度热图

R/梯度热图
EN

Stack Overflow用户
提问于 2014-03-30 01:09:53
回答 1查看 741关注 0票数 1

我需要帮助使用R中的地图,这是我第一次尝试使用R的映射工具,并且需要帮助。我正试图为一座城市的每家餐厅绘制Yelp的明星收视率。我开始的代码只给出餐厅的位置,而不是星级。我希望有一个梯度的星级,5是红色,1是黄色,或在那里左右。任何帮助都是非常感谢的!

代码语言:javascript
复制
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)

我正在使用的数据框架的结构如下:

代码语言:javascript
复制
        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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-30 02:08:54

你是想根据星星的数量来给点着色吗?

加载数据帧:

代码语言:javascript
复制
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和大小,以便更容易看到):

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22739076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档