R 如何将表添加到图形中?

R 如何将表添加到图形中?,r,graph,statistics,ggplot2,R,Graph,Statistics,Ggplot2,我使用以下命令创建了一个减淡条形图: a = c(1,1,1,1,1,1,1,2,2,2,2,2,2,2) b = c("A","A","A","B","B","B","B","C","C","D","D","D","D","D") c = c(60,20,20,80,5,5,5,50,50,25,25,25,20,5) dat = data.frame(Group=a, Member=b, Percentage=c) ggplot(dat, aes(x=Member, y=Percen

我使用以下命令创建了一个减淡条形图:

a = c(1,1,1,1,1,1,1,2,2,2,2,2,2,2) 
b = c("A","A","A","B","B","B","B","C","C","D","D","D","D","D") 
c = c(60,20,20,80,5,5,5,50,50,25,25,25,20,5) 
dat = data.frame(Group=a, Member=b, Percentage=c) 
ggplot(dat, aes(x=Member, y=Percentage)) + geom_bar(stat="identity", position="dodge", fill="white", colour="black") 
如果我有一组值:

table_values = c("2", "4", "2", "1")
table_total = c("A", "B", "C", "D")
tab = data.frame(Type=table_total, Value=table_values)
如何将其作为表格添加到图形中,使其对齐?大概是这样的:


我可以手动完成,但我有很多图表要生成,所以我想知道这是否可以自动化。有什么建议吗?

这有点老套,但是你可以用geom_文本进行注释,将文本作为略负的y值。这会将其放入绘图区域,而不是轴下方

ggplot(dat, aes(x=Member, y=Percentage)) + 
  geom_bar(stat="identity", position="dodge", fill="white", colour="black") +
  geom_text(aes(x=table_total, label=table_values), y=-2, data=tab)


我更感兴趣的方法是创建两个单独的绘图,一个是条形图,一个是“表”(关闭几乎所有的主题元素),并在
ggExtra
包中使用类似
align.plots
(不确定这是否是正确的名称)。

非常感谢。工作完美!一个简单的问题是:当我指定-2时,ggplot不会在Y轴上显示这个数字,所以一切都很好。但如果我指定的是-20,它就是。是否有办法使ggplot显示0,80的值,但仍在-20处绘制值?如果太令人困惑,我将尝试解释。您可以指定哪些值在轴上获得标签。例如,您可以添加
+scale\u y\u continuous(breaks=c(0,20,40,60,80))
@Brian,在一个完整的旁注上,您是否看到左侧的第四个横杆比其他横杆稍低?就像我们昨天在办公室里看到的那样,我们正在努力弄清楚交易是什么。。。不知道你是否有什么想法?@nzcoops,这是一个已知的bug,谢谢Brian,我想这一定是一个版本问题,因为我无法在macbook或linux服务器上复制,而且一位同事在家里用最新版本的windows出现了问题(我仍然使用2.13)。干杯