根据颜色箱在R中绘制图形

时间:2016-04-06 00:43:26

标签: r

我有三列:纬度,经度和价格。 我想绘制一个图表,其中x轴为lat,y轴为long。点的颜色由价格值决定。 (0-50 $ - 红色,50-100美元蓝色等)。我尝试使用ggplots但没有找到任何可以根据提供的范围给点着色的东西。

latitude    longitude   price
40.8520537789   -73.7886796346  100
40.8411441603   -73.7830522867  100.4
40.8500238142   -73.7893275949  102

1 个答案:

答案 0 :(得分:1)

你可以使用plot()函数。

这是data.table(或者,您也可以使用data.frame)

> dt
   latitude longitude price
1: 40.85205 -73.78868 100.0
2: 40.84114 -73.78305 100.4
3: 40.85002 -73.78933 102.0

您可以通过以下代码找到每行的颜色。

color_val <- ifelse(dt[['price']] >= 0 & dt[['price']] <= 50,"red",ifelse(dt[['price']] > 50 & dt[['price']] <= 100,"blue","black"))

或通过@thelatemail提到的方法:

cut(dt$price, c(0,50,100,Inf), labels=c("red","blue","black"))

现在,您可以通过此命令绘制数据:

plot(x = dt[['latitude']],y = dt[['longitude']],col = color_val)

注意:这只是在x-y坐标上的正常绘图。