- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 geom_boxplot 的顶部边缘添加注释,例如
情节。n=5
、n=4
以及每个箱线图中数据点的数量
我知道我可以通过预先计算计数来使用 geom_text
来做到这一点,但似乎 ggplot2
,具有所有这些精彩的装箱和总结功能,应该能够自己完成吗?
假设我们有这些数据:
library(tidyverse)
dd = tribble(
~val, ~kind,
1, 'A',
3, 'A',
5, 'A',
5, 'A',
6, 'A',
3, 'B',
4, 'B',
4, 'B',
5, 'B'
)
我试过这个:
> base = ggplot(dd, aes(x=kind, y=val)) + geom_boxplot()
> base + geom_text(y=6, label=..count.., stat='count')
Error in layer(data = data, mapping = mapping, stat = stat, geom = GeomText, :
object '..count..' not found
据推测,geom_text
只是忽略了我的 stat
参数?
接下来,我尝试了这个:
> base + stat_count(aes(y=6, label=..count..), geom='text')
Error: stat_count() must not be used with a y aesthetic.
能不能做点有用的事情不应该是我自己的问题吗结果 ..count..
,“y 审美”与否?
这两种尝试对我来说都是明智的。
谁能从概念上解释为什么 ggplot2 不接受这些命令?
是否有任何方法可以使用 ggplot2 提供的计数?
最佳答案
这是 ggplot2 的设计限制。如果 Hadley 现在重写它,他可能会以不同的方式实现它。从概念上讲,您希望有两个独立的映射,一个用于统计,一个用于几何。但是,ggplot2 不是这样工作的。它只有一组映射,大部分映射同时应用于 stat 和 geom。有一些解决方法,您可以使用 ..variable..
在 geom 中引用统计中计算的变量,但映射仍然全部放在一起。
目前没有任何功能允许您指定 y
美学仅适用于 geom_text
并且 stat_count
应该忽略它。
另一个经常出现的情况是垂直或水平版本的统计数据,否则是水平或垂直的。有一个完整的包,ggstance.从概念上讲,这没有多大意义。为什么我不能使用 stat_density()
计算密度,然后将密度曲线的“x”变量(即计算密度的变量)映射到 y
美学和“y”变量(即密度的高度)到 x
美学。相反,我需要使用 stat_xdensity()
,它与 stat_density()
相同,只是它交换了 x 和 y。
我一直在想,通过添加一个单独的 layer()
类型的函数来扩展 ggplot2 而不破坏它是可能的,该函数接受两个美学参数,一个用于统计,一个用于几何。即,类似于:
layer2(aes_geom(y = ..x.., x = ..y..),
aes_stat(x = variable),
geom = "line", stat = "density")
(这将绘制一条垂直密度线,类似于半个 fiddle 图的轮廓。)
我们经常遇到的另一个非直观限制是 aes
转换中的计算不考虑数据分组。例如,假设我们想用红点标记箱线图的中线。我们可能会尝试:
ggplot(iris, aes(x = Species, y = Sepal.Length)) +
geom_boxplot() +
geom_point(aes(x = Species, y = median(Sepal.Length)), size = 3, color = "red")
这是结果:
中位数是针对整个数据列计算的,而不是按物种单独计算的。
关于r - ggplot2 geom_boxplot : annotating counts without computing them in advance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47777159/
我的问题是 this one. 的一个分支 我有一个要验证的注释(比如电话注释)。我可以使用@phone 验证器来检查电话对象是否有效。我还希望能够将此验证器放在包含电话的联系信息对象上。有没有一种方
我的问题是 this one. 的一个分支 我有一个要验证的注释(比如电话注释)。我可以使用@phone 验证器来检查电话对象是否有效。我还希望能够将此验证器放在包含电话的联系信息对象上。有没有一种方
例如 class LoggingService [Inject] (protected val logger: Logger) class LoggingService @Inject (protec
你觉得你是java高手吗? 您是否深谙反射 API 的 secret ? public @interface @a {} public @interface @b {} @Mark public @i
我对 Spring 和 JUnit 非常陌生。我正在尝试为 spring 服务类运行一个简单的 JUnit 测试用例,但它失败了,我得到了这个异常。我还没有编写任何测试,但在实现之前尝试运行。使用to
对于spring和JUnit来说是非常新的东西。 我正在尝试为spring服务类运行一个简单的JUnit测试用例,但是失败了,并且出现了这个异常。我还没有编写任何测试,但是尝试在实现之前进行测试。 使
我有一个实体Test,它将从特征中获取它的属性(和基本方法): class Test { use Trait_title; } trait Trait_title{ /** *
我(当然)正在尝试使用许多我不太了解的构造来维护一个项目。在尝试弄清楚 Spring 中 AOP 使用的过程中,我遇到了带有以下注释的方法: @Around(value = "@annotation(
目前我正在编写一个注释处理器,它将生成新的源代码。该处理器与应用程序本身隔离,因为它是构建项目的一个步骤,我将整个构建系统与应用程序分开。 这就是问题开始的地方,因为我想处理在应用程序中创建的注释。我
我将 Vertx Service Gen 注释处理器与 Kotlin kapt 结合使用。 在注释处理器启动之前,我的 kapt 失败,到处都是以下异常消息: error: scoping const
我很难弄清楚如何从其实际实现类中获取对 java.lang.annotation.Annotation 的引用。 注释本身看起来像这样(来自框架): @Target({ElementType.TYPE
如何创建类似的注释 @Table(name="batch", uniqueConstraints= @UniqueConstraint(columnNames = {"compound_id"
我刚开始使用Spring Boot,我收到这个错误已经有一段时间了,不幸的是无法修复它。从那时起,我一直在谷歌上搜索,但仍然找不到我做错了什么。在我的代码下面找到:。实体。刀。主要。误差率。启动App
输出文本: Execution failed for task ':app:checkDebugDuplicateClasses'. 1 exception was raised by worker
假设我想使用宏注释来复制@specialized(Int) 之类的注释——我知道这很疯狂。像这样的东西: class expand(expanded: Any*) extends Annotation
假设我想使用宏注释来复制@specialized(Int) 之类的注释——我知道这很疯狂。像这样的东西: class expand(expanded: Any*) extends Annotation
注解处理过程中我目前正在处理一个方法的注解: @Override public boolean process(Set elements, RoundEnvironment env) { Mess
我有接口(interface)资源和几个实现它的类,例如音频、视频...此外,我创建了自定义注释MyAnnotation: @MyAnnotation(type = Audio.class) cl
我的项目包括较旧的未注释 Controller 和较新的基于注释的 Controller 。 我使用的是最新的 Spring jar (3.0.5),在我的 dispatcher-servlet.xm
我正在写一些简单的 win32 东西,我正在使用以下 wWinMain int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance
我是一名优秀的程序员,十分优秀!