- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要在下面的图中添加一些部分箱线图:
library(tidyverse)
foo <- tibble(
time = 1:100,
group = sample(c("a", "b"), 100, replace = TRUE) %>% as.factor()
) %>%
group_by(group) %>%
mutate(value = rnorm(n()) + 10 * as.integer(group)) %>%
ungroup()
foo %>%
ggplot(aes(x = time, y = value, color = group)) +
geom_point() +
geom_smooth(se = FALSE)
我会在上面的图中添加一个 (2 x 4 = 8) 个箱线图(每组 4 个)的网格。每个箱线图应考虑连续选择 25(或 n)个点(在每个组中)。即,前两个箱线图代表 1 号和 25 号之间的点(下面一个箱线图表示 a 组,上面一个箱线图表示 b 组)。在它们旁边,还有另外两个箱线图,用于表示第 26 位和第 50 位之间的点,等等。如果它们不在一个完美的网格中(我认为这将更难获得且更丑陋),那就更好了:我更希望它们“遵循”相应的平滑线!
这一切都没有使用分面(因为我必须将它们插入已经分面的情节中:-))
我试过了
bar <- foo %>%
group_by(group) %>%
mutate(cut = 12.5 * (time %/% 25)) %>%
ungroup()
bar %>%
ggplot(aes(x = time, y = value, color = group)) +
geom_point() +
geom_smooth(se = FALSE) +
geom_boxplot(aes(x = cut))
但它不起作用。
我尝试使用 group
而不是 x
调用 geom_boxplot()
bar %>%
ggplot(aes(x = time, y = value, color = group)) +
geom_point() +
geom_smooth(se = FALSE) +
geom_boxplot(aes(group = cut))
但是它在不考虑组的情况下绘制了箱线图,甚至失去了颜色(并添加了包括 color = group
在内的冗余调用没有帮助)
最后还是决定粗略的试一下:
bar %>%
ggplot(aes(x = time, y = value, color = group)) +
geom_point() +
geom_smooth(se = FALSE) +
geom_boxplot(data = filter(bar, group == "a"), aes(group = cut)) +
geom_boxplot(data = filter(bar, group == "b"), aes(group = cut))
有人知道是否可以通过调用 geom_boxplot()
获得它吗?
谢谢!
最佳答案
这很有趣!我之前没有尝试过将 geom_boxplot
与连续的 x
一起使用,也不知道它的行为方式。我认为正在发生的事情是设置 group
覆盖 geom_boxplot
中的 colour
,因此它不尊重继承或重复的 colour
审美。我认为这个解决方法可以解决问题;我们将 group
和 cut
变量合并到 group_cut
中,它有 8 个不同的值(一个对应每个所需的箱线图)。现在我们可以映射 aes(group = group_cut)
并获得所需的输出。我认为这不是特别直观,可能值得在 Github 上提出它,因为通常我们希望美学能够很好地结合(例如,结合 colour
和 linetype
效果很好).
library(tidyverse)
bar <- tibble(
time = 1:100,
group = sample(c("a", "b"), 100, replace = TRUE) %>% as.factor()
) %>%
group_by(group) %>%
mutate(
value = rnorm(n()) + 10 * as.integer(group),
cut = 12.5 * ((time - 1) %/% 25), # modified this to prevent an extra boxplot
group_cut = str_c(group, cut)
) %>%
ungroup()
bar %>%
ggplot(aes(x = time, y = value, colour = group)) +
geom_point() +
geom_smooth(se = FALSE) +
geom_boxplot(aes(group = group_cut), position = "identity")
#> `geom_smooth()` using method = 'loess' and formula 'y ~ x'
由 reprex package 创建于 2019-08-13 (v0.3.0)
关于r - 是否可以对不带单个 `geom_boxplot()` 的小平面进行 ggplot 分组的部分箱线图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57485779/
我想预先计算数据的按变量摘要(使用 plyr 并传递 quantile 函数),然后使用 geom_boxplot(stat = "identity") 绘图.这很好用,除了它 (a) 不将异常值绘制
我创建了一些分组箱线图,基本上针对 x 轴上的每个维度,我展示了不同的组。因为我的数据集非常大,所以我不得不预先计算框的值,因为 ggplot 没有足够的内存(我使用 ddply 并分段计算)。 我相
我想对 geom_boxplot() 做一些修改。因为我的箱线图有时真的很“小”(参见图中的黄色和绿色分支 here),我想更加突出中位数。那么是否可以调整中线的粗细? 最佳答案 这个解决方案在文档中
过去,我已经能够使用 ggplot2 创建箱线图,方法是提供下须、下分位数、中位数、上分位数和上须以及 x 轴标签。例如: DF <- data.frame(x=c("A","B"), min=c(1
我正在尝试在 geom_box 图上添加极值(异常值与否)的标签。 我发现了这个问题,它与我的几乎完全相似 [ extreme value labels ggplot2 in geom_boxplot
例如, ggplot(mpg, aes(class, hwy)) + geom_boxplot( outlier.colour = "black",
问题 我想使用 ggplot 的 geom_boxplot 并为分位数段使用我自己的数据列,而不是 stat_boxplot 返回的数据列。 经过一些转换后的数据如下所示: > allquartile
我有以下箱线图: import os iris = pandas.read_table(os.path.expanduser("~/iris.csv"),
我正在尝试将希腊符号放入我在 ggplot2 中制作的箱线图中。但是,在完成了之前关于堆栈溢出的所有问题之后,我终生无法让他们的任何示例起作用。 所以很抱歉重新发布,但如果有人能在这里帮助我,我将不胜
我一直在使用 R/ggplot2 成功生成与我公司使用的商业工具生成的图表非常接近的图表。但是有一些功能我无法在使用 R 生成的箱线图中实现。 图表底部的摘要“表格”,显示中位数、计数、离群值等项目。
这个问题在这里已经有了答案: Use mean in ggplot boxplots instead of median (1 个回答) How to plot mean and standard e
我正在使用 geom_boxplot使用股市数据绘制烛台。问题是单个箱线图的上下边缘以及上须端点在 y 轴上显示的比其相应值高得多。不过,每个箱线图的相对高度(上下边缘之间的差异)和下须的端点都很好。
我有以下数据框: df = data.frame(ymin = c(0.35,0.4,0.25,0.3,0.55,0.6), lower = c(0.45,0.5,0.35,0.4,0.65,0.7)
我正在尝试为下面的数据框绘制一个箱线图。运行下面的代码似乎不起作用,根本没有输出。运行后 ggplot(aes(time, size)) + 不知何故数据框被更改为列表。有人帮忙吗? SUBJECTI
我正在使用 ggplot2 中的 geom_boxplot 制作箱线图。但是,我发现 mustache 长度不正确,我不知道为什么。这是我的数据: value = c(1.3739117,0.8709
我有一个数据集,其中包含 100 次列车运行模拟的数据,该网络具有 4 列火车、6 个车站和每个车站每列火车的到达晚点。我的数据看起来像这样: MyData <- data.frame( Simu
我正在制作一个箱线图,其中 x和 fill映射到不同的变量,有点像这样: ggplot(mpg, aes(x=as.factor(cyl), y=cty, fill=as.factor(drv)))
我可能遇到了一种罕见的情况,我想使用 R 绘制几个组的值。的 ggplot2的 geom_violin + geom_boxplot ,按组填充和着色 fiddle ,并按组为盒子着色。有时,一个或多
我可以更改箱线图图例中使用的符号吗?我想使用正方形而不是默认的箱线图符号。经过一番搜索后,我尝试了以下操作,但是最后一行似乎没有效果: df = data.frame(x = rnorm(10), y
出于某种晦涩的原因,我必须绘制一个没有明显中位数的箱线图。我怎样才能做到这一点(使用 ggplot 是首选,但如果有必要,我会切换到 boxplot )? 相关回答: 使用 fatten参数:我尝试将
我是一名优秀的程序员,十分优秀!