我的数据以csv格式存储。我想根据活动将数据绘制成彩色,这意味着4种不同的活动应具有4种不同的颜色。
ACTIVITY LAT LONG
Resting 21.14169444 70.79052778
Feeding 21.14158333 70.79313889
Resting 21.14158333 70.79313889
Walking 21.14163889 70.79266667
Walking 21.14180556 70.79222222
Sleeping 21.14180556 70.79222222
我尝试了以下代码,但是没有用:
ACTIVITY.cols <- cut(ACTIVITY, 5, labels = c("pink", "green", "yellow","red","blue"))
plot(Data$Latitude,Data$Longitude, col = as.character(ACTIVITY.cols)
和
plot(Data$Latitude,Data$Longitude, col=c("red","blue","green","yellow")[Data$ACTIVITY]
使用
txt <- "ACTIVITY LAT LONG
Resting 21.14169444 70.79052778
Feeding 21.14158333 70.79313889
Resting 21.14158333 70.79313889
Walking 21.14163889 70.79266667
Walking 21.14180556 70.79222222
Sleeping 21.14180556 70.79222222"
dat <- read.table(text = txt, header = TRUE)
一种选择是nlevels(ACTIVITY)
使用ACTIVITY
变量作为索引来索引长度为颜色的向量。
cols <- c("red","green","blue","orange")
plot(LAT ~ LONG, data = dat, col = cols[dat$ACTIVITY], pch = 19)
legend("topleft", legend = levels(dat$ACTIVITY), col = cols, pch = 19, bty = "n")
这产生
为了了解其工作原理,cols
将其扩展为
> cols[dat$ACTIVITY]
[2] "green" "red" "green" "orange" "orange" "blue"
因为ACTIVITY
是一个因数,但在数值上存储为1,2,...,n。
还可以使用其他更高级别的解决方案,因此请考虑使用ggplot2包来简化同一图的创建。
library("ggplot2")
plt <- ggplot(dat, aes(x = LONG, y = LAT, colour = ACTIVITY)) +
geom_point()
plt
产生
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句