我的数据框看起来像这样:
dat<-structure(list(x = 1:14, y = c(1.26071476002898, 1.97600316441492,
2.41629009067185, 3.48953782319898, 10, 8.49584395945854, 3.80688560348562,
3.07092373734549, 2.96665740569527, 2.73020216450355, 2.39926441554745,
2.4236111796397, 2.63338121290737, 2.13662243060685)), .Names = c("x",
"y"), row.names = c(NA, -14L), class = "data.frame")
x y
1 1.260715
2 1.976003
3 2.416290
4 3.489538
5 10.000000
6 8.495844
7 3.806886
8 3.070924
9 2.966657
10 2.730202
11 2.399264
12 2.423611
13 2.633381
14 2.136622
我正在尝试在ggplot2中创建一个圆形图,其中圆被分成我拥有的14个数据点,每个弧的长度对应于y的值。这样的事情:
我的代码产生一个非常奇怪的输出,条形图彼此重叠。我到处寻找解决方法,但没有成功。这是我的代码:
ggplot(dat, aes(x, y)) + geom_bar(breaks = seq(1,14), width = 2, colour = "grey", stat="identity") + coord_polar(start = 0) + scale_x_continuous("", limits = c(1, 14), breaks = seq(1, 14), labels = seq(1, 14))
请帮助我......提前谢谢......
答案 0 :(得分:4)
这是因为您指定了width=2
。这会产生重叠。
另请注意,您不需要任何breaks
。
试试这个:
library(ggplot2)
ggplot(dat, aes(x, y)) +
geom_bar(stat="identity") +
coord_polar(start = 0) +
scale_x_continuous("",breaks = seq(1, 14))