我使用ggplot2
为我的数据绘制了极坐标。
我的数据集采用以下格式:
Time Lat Long Act
18:00 21.05 70.00 feed
18:45 21.00 75.00 walk
19:00 21.09 77.00 walk
19:05 24.98 77.09 rest
代码:
library(ggplot2)
plot.new()
ggplot(aes(x = Lat, y = Long, colour = Act), data = file) +
geom_point()
ggplot(aes(x= Lat, y = Long , colour = Act), data = file) +
geom_point() +
coord_polar(theta = "y")
这是我得到的极坐标图: here
此图具有纬度和经度。现在我想再增加一个维度" time"。我怎样才能做到这一点 ?。如何在3D极坐标图中制作这个二维极坐标图?
答案 0 :(得分:4)
您可以尝试使用变量“time”的值来缩放点的大小。不幸的是,你的例子是不可重复的,但沿着这些方面的东西可以起作用:
ggplot(aes(x= Latitude, y = Longitude , colour = ACTIVITY, size=time), data = Data) + geom_point(shape=21) + coord_polar(theta = "y") + scale_size_area(max_size=10)
下面你可以看到一个可重复的例子,它基于Winston Chang的“The R Graphics Cookbook”中使用的数据(O'Reilly 2013)。
在这种情况下,点大小代表温度,颜色代表风速类别,风的方向绘制在极坐标中,半径代表风的平均值。
library(gcookbook)
library(ggplot2)
p <- ggplot(wind, aes(x=WindDir, y=WindAvg, size=Temp, fill=SpeedCat)) +
coord_polar() + geom_point(shape=21)+scale_size_area(max_size=10) +
scale_x_continuous(limits=c(0,360),breaks=seq(0,360,by=45))
这是输出:
希望这有帮助。