geom_text 在所有方面写入所有数据

Posted

技术标签:

【中文标题】geom_text 在所有方面写入所有数据【英文标题】:geom_text writing all data on all facets 【发布时间】:2013-12-24 02:23:28 【问题描述】:

我将 ggplot 与 facet_grid 一起使用,我想在每个方面指出每个方面的观察次数。我遵循许多网站上提供的示例,但是当我让它写任何东西时,它会在所有四个图上写下所有四个观察数字。

这里是 geom_text 图层命令: geom_text(data=ldata, aes(x=xpos, y=ypos, label=lab, size=1), group=NULL, hjust=0, parse=FALSE)

并且 ldata 是一个数据框,列出了每个图上的坐标 (xpos, ypos) 和观察次数 (lab)。它在绘图的正确位置打印数字,但在所有四个绘图上,所有四个都写在彼此的顶部。我不知道我做错了什么。

数据:

xpos ypos 实验室

1 10 1.35 378

2 10 1.35 2

3 10 1.35 50

4 10 1.35 26

【问题讨论】:

【参考方案1】:

你几乎拥有它。只是您需要在ldata 数据框中再添加一列,这就是您将提供给facet_grid 的内容。 (我把 Ypos 改成了 Inf)

注意下面ldatasplitter 列的作用,以及它在facet_grid 中的使用方式

xpos <- c(10,10,10) 
ypos <- c(Inf,Inf,Inf)
lab <- c(378,2,50)
splitter <- c(1:3)
ldata <- data.frame(xpos, ypos, lab, splitter)


ggplot(mtcars) + geom_bar(aes(x=cyl)) + facet_grid(~splitter) + 
  geom_text(data=ldata, aes(x=xpos, y=ypos, 
                            label=lab, size=1), 
            vjust=2, parse=FALSE)

产生:

【讨论】:

优秀。做到了。我下面的例子没有提到这一点。谢谢,拉姆! 好的,谢谢。这意味着您已“接受”答案并将问题显示为已回答。

以上是关于geom_text 在所有方面写入所有数据的主要内容,如果未能解决你的问题,请参考以下文章

ByteBuffer:写入,然后回到缓冲区的开头并在之前写入的所有数据之前写入(前置?)

从管道读取()保证在EOF之前提供所有原子写入的数据?

UWP - 如何完全删除 LocalSettings 中写入的所有数据?

RAID-5

获取 Spark 写入 Hive 元存储的所有新分区

RAID-5