这是我的代码。
library(ggplot2)
library(reshape2)
t <- read.csv("tweetcount.csv")
t.melt <- melt(t, id=c("Day"))
t.melt$addon=((t.melt$value)/25)+0.5
p = ggplot(data=t.melt, aes(x=Day, y=addon, group=variable))
p + geom_area(aes(color=variable, fill=variable)) + coord_polar(theta = "x")
这是t数据,
Day Monday Tuesday Wednesday Thursday Friday Saturday Sunday
1 06:00 3 1 5 2 3 3 5
2 07:00 5 1 2 2 1 7 21
3 08:00 9 6 3 2 9 14 34
4 09:00 7 8 8 1 1 1 26
5 10:00 2 1 10 9 3 13 16
6 11:00 6 6 8 4 1 31 35
7 12:00 3 5 10 2 7 21 5
8 13:00 10 10 10 2 7 12 28
9 14:00 5 6 4 10 10 22 34
10 15:00 9 1 5 5 5 26 45
11 16:00 5 2 1 8 1 20 33
12 17:00 2 2 8 5 3 13 25
13 18:00 9 5 10 10 9 13 26
14 19:00 2 3 4 6 5 7 27
15 20:00 5 7 9 7 4 18 10
16 21:00 7 3 8 2 5 3 3
17 22:00 4 10 7 4 10 17 35
18 23:00 5 7 8 5 5 3 15
19 00:00 4 3 3 8 10 15 9
20 01:00 3 8 1 9 5 8 7
21 02:00 3 6 6 6 7 32 26
22 03:00 3 8 4 6 2 0 7
23 04:00 3 4 1 4 2 0 0
24 05:00 2 0 1 0 0 1 0
当我尝试绘制它时,就会出现这个,
有没有办法摆脱情节中的不连续性/截止? (即我希望23:00与00:00连接)
谢谢!
答案 0 :(得分:3)
我会将您的"23:00"
行复制为没有标签的虚拟数据(" "
)。然后在轴上使用expand = c(0, 0)
。
t.melt$Day <- as.character(t.melt$Day)
t.melt.dummy <- subset(t.melt, Day == "23:00")
t.melt.dummy$Day <- " "
t.melt <- rbind(t.melt, t.melt.dummy)
t.melt$Day <- factor(t.melt$Day)
p = ggplot(data=t.melt, aes(x=Day, y=addon, group=variable))
p + geom_area(aes(color=variable, fill=variable)) +
scale_x_discrete(expand = c(0, 0)) +
coord_polar(theta = "x")