Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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 向分组柱形图添加数据标签_R_Ggplot2 - Fatal编程技术网

R 向分组柱形图添加数据标签

R 向分组柱形图添加数据标签,r,ggplot2,R,Ggplot2,我正在尝试创建一个带有数据标签的简单分组柱状图,我面临的问题是标签显示不正确。请参见下面的屏幕截图: 这里的另一个问题是,在添加geom_text()语句后,我在最右侧图例的上方和下方得到了两个不需要的项目,即大小和颜色 使用的数据 data<-structure(list(survey_period = c("2019_H2", "2020_H1", "2019_H2",

我正在尝试创建一个带有数据标签的简单分组柱状图,我面临的问题是标签显示不正确。请参见下面的屏幕截图:

这里的另一个问题是,在添加geom_text()语句后,我在最右侧图例的上方和下方得到了两个不需要的项目,即大小和颜色

使用的数据

data<-structure(list(survey_period = c("2019_H2", "2020_H1", "2019_H2", 
                                   "2020_H1", "2019_H2", "2020_H1", "2019_H2", "2020_H1", "2019_H2", 
                                   "2020_H1"), subgroup = c("AS", "AS", "BL", "BL", "HI", "HI", 
                                                            "Others", "Others", "WH", "WH"), fav = c(0.639136555607696, 0.83034379671151, 
                                                                                                     0.653710247349823, 0.822349570200573, 0.658051689860835, 0.812018489984592, 
                                                                                                     0.654872749844817, 0.819091796875, 0.624846248462485, 0.795588612464735
                                                            )), row.names = c(NA, -10L), class = c("tbl_df", "tbl", "data.frame"
                                                            ))
我想知道在这个代码中需要更改什么,以便每个条都有自己的标签。

示例数据中缺少“fav_text”变量,因此我使用了“subgroup”:


谢谢@dph。这工作做得非常好。这次我注意到的一个稍有不同的问题是,当我在代码中使用facet_grid时,我得到一个提示:“错误:美学必须是有效的数据列。有问题的美学:position=position_dodge(0.8)。您是否键入了数据列的名称错误,或者忘记在_stat()之后添加?”?此外:警告信息:忽略未知美学:定位“任何线索为什么会发生这种情况?不幸的是,您的部分回复被切断。我刚试过你的虚拟数据,一切都很好。我刚刚制作了一个新的column:data$facet oh I see=>您确实在de aes()内部放置了position_dodge调用,显然-您必须像在geom_text调用中一样将其移除到外部。请阅读此处以了解aes()的括号内应该包含的内容:这非常有用,再次感谢@DPH。
library(RColorBrewer)
library(scales)
library(ggplot2)

data %>%
  ggplot( aes(x=survey_period, y=fav, group=subgroup, fill=subgroup, width=.7)) +
  geom_col(colour="black",width=0.5,position=position_dodge(0.8)) +
  ggtitle("Trended Favorability") +
  theme(axis.line=element_line()) +
  ylab("% Favorable") +  
  scale_y_continuous(labels = scales::percent_format(accuracy = 1)) + # 
  scale_fill_brewer(palette="PuBu") +
  geom_text(aes(label=scales::percent(fav, accuracy=.1), size=3,color="white",fontface = "bold"))
library(RColorBrewer)
library(scales)
library(ggplot2)

data %>%
  ggplot(aes(x=survey_period, y=fav, group=subgroup, fill=subgroup, width=.7)) +
  geom_col(colour="black",width=0.5,position=position_dodge(0.8)) +
  geom_text(aes(label=subgroup),
            fontface = "bold", 
            vjust = -.5, # play with these to adjust position
            hjust = .5, # play with these to adjust position
            size = 3,
            colour = "black",
            position = position_dodge(0.8)) +
  scale_y_continuous(labels = scales::percent_format(accuracy = 1)) + # 
  scale_fill_brewer(palette="PuBu") +
  ggtitle("Trended Favorability") +
  ylab("% Favorable") +  
  theme(axis.line=element_line())