Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何在ggplot饼图上进一步移动geom_文本标签?_R_Ggplot2 - Fatal编程技术网

R 如何在ggplot饼图上进一步移动geom_文本标签?

R 如何在ggplot饼图上进一步移动geom_文本标签?,r,ggplot2,R,Ggplot2,我有六组受访者(res)的一些调查数据。我已经为我想在图表中分配给每组的颜色添加了一列,尽管这可能是多余的。我制作了一个饼图,显示了每组受访者的数量: Grp.PieChart <- ggplot(data = count(res, Grp, GrpColour), aes(x = "", y = n, fill = GrpColour)) + geom_bar(stat = "identity") + coord_polar(theta = "y") + theme_void

我有六组受访者(res)的一些调查数据。我已经为我想在图表中分配给每组的颜色添加了一列,尽管这可能是多余的。我制作了一个饼图,显示了每组受访者的数量:

Grp.PieChart <- ggplot(data = count(res, Grp, GrpColour), aes(x = "", y = n, fill = GrpColour)) +
  geom_bar(stat = "identity") +
  coord_polar(theta = "y") +
  theme_void() +
  geom_text(aes(label = n),
            size = 8,
            colour = "#161844",
            family = "Raleway",
            position = position_stack(vjust = 0.5)) +
  ggtitle("Groups of Respondents") +
  theme(
    legend.title = element_blank(),
    legend.text = element_text(colour = "#161844", size = 12, family = "Raleway"),
    plot.title = element_text(colour = "#161844", size = 24, family = "Raleway", face = "bold")) +
  scale_fill_manual(values = c("#21409A", "#6C217E", "#30BAED", "#39B44A", "#FFDA00", "#F47920"),
                    breaks = c("#21409A", "#6C217E", "#30BAED", "#39B44A", "#FFDA00", "#F47920"),
                    labels = c("Group A", "Group B", "Group C", "Group D", "Group E", "Group F"))

非常感谢您的帮助

您似乎只需要增加0.5的值

position = position_stack(vjust = 0.5))

通过更改
geom_text

库(tidyverse)
mydat%突变(nperc=n*100/总和(n))
ggplot(数据=mydat,aes(x='',y=nperc,fill=group))+
geom_col()+
geom_文本(aes(x=1.2,label=n),position=position_堆栈(vjust=0.5))+
坐标(θ='y')+
刻度填充手册(数值=c(“#21409A”、“#6C217E”、“#30BAED”、“#39B44A”、“#FFDA00”、“#F47920”))


由(v0.3.0)于2020年3月24日创建的v0.3.0不,只是将标签集中在θ方向,而不是径向。不,似乎不起作用。我在饼图中间有个洞,这些数字按升序排列,并与中心12点钟方向成比例。@KingZapper用reprex软件包创建的代码的美妙之处在于它是隔音的-上面的结果就是我上面代码的精确输出-尝试一下,它会给出完全相同的结果:)我建议你可以试着简单地把你的数据框而不是我的,并更改变量名。这应该很有希望,但我需要图例来显示六个组,并且我需要使用我公司品牌指南中的颜色。
position = position_stack(vjust = 0.5))