摆脱R中coord_polar图中的不连续性

时间:2014-11-13 02:21:43

标签: r ggplot2

这是我的代码。

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 

当我尝试绘制它时,就会出现这个,

coord_polar with gap

有没有办法摆脱情节中的不连续性/截止? (即我希望23:00与00:00连接)

谢谢!

1 个答案:

答案 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")