可以将position_jitter与position_dodge结合起来吗?

2023-11-25

我非常喜欢箱线图,其中抖动点覆盖在箱线图上以表示实际数据,如下所示:

set.seed(7)
l1 <- gl(3, 1, length=102, labels=letters[1:3])
l2 <- gl(2, 51, length=102, labels=LETTERS[1:2]) # Will use this later
y <- runif(102)
d <- data.frame(l1, l2, y)

ggplot(d, aes(x=l1, y=y)) + 
  geom_point(position=position_jitter(width=0.2), alpha=0.5) +
  geom_boxplot(fill=NA) 

enter image description here

(当每个框中的数据点数量相差很大时,这些特别有用。)

当我也(隐式)使用时,我想使用这种技术position_dodge通过第二个变量分隔箱线图,例如

ggplot(d, aes(x=l1, y=y, colour=l2)) + 
  geom_point(position=position_jitter(width=0.2), alpha=0.5) +
  geom_boxplot(fill=NA)

enter image description here

但是,我不知道如何通过colour变量(这里,l2)并抖动它们。


这是一种手动执行抖动和闪避的方法。

# a plot with no dodging or jittering of the points 
dp <- ggplot(d, aes(x=l1, y=y, colour=l2)) + 
  geom_point(alpha=0.5) +
  geom_boxplot(fill=NA)

# build the plot for rendering
foo <- ggplot_build(dp)
# now replace the 'x' values in the data for layer 1 (unjittered and un-dodged points)
# with the appropriately dodged and jittered points
foo$data[[1]][['x']] <- jitter(foo$data[[2]][['x']][foo$data[[1]][['group']]],amount = 0.2)
# now draw the plot (need to explicitly load grid package)
library(grid)
grid.draw(ggplot_gtable(foo))
# note the following works without explicitly loading grid
plot(ggplot_gtable(foo))

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

可以将position_jitter与position_dodge结合起来吗? 的相关文章

  • ggplot2 的组合图(不在单个图中),使用 par() 或 layout() 函数? [复制]

    这个问题在这里已经有答案了 我一直在考虑使用 par 或 layout 函数来组合 ggplots 可以使用这些功能吗 假设我想绘制 ggplot 散点图和 ggplot 直方图 我想将这两个地块合并起来 而不是在一个地块中 是否适用 我在
  • data.frame 按列分组[重复]

    这个问题在这里已经有答案了 我有一个数据框 DF 说 DF 是 A B 1 1 2 2 1 3 3 2 3 4 3 5 5 3 6 现在我想将 A 列的行组合在一起 并得到 B 列的总和 例如 A B 1 1 5 2 2 3 3 3 11
  • 评估 R 中字符串指向的函数

    假设我有以下内容 x lt 1 10 squared lt function x x 2 y lt squared 我希望能够使用 y 定义的字符串来评估该函数 像 eval y 这样的东西 我知道这是错误的 但会返回 1 1 4 9 16
  • 将线条剪裁到绘图区域并在绘图区域外显示文本

    我想限制绘图的可见 y 范围 为了保留超出此范围的值 我需要设置oob 出界 to rescale none这效果很好 不过 我还想在图外的页边空白处添加一些文本 为了做到这一点 我需要关闭剪辑 这会导致超出范围的值被绘制在绘图区域之外的边
  • 使用 geom_bar 和 stat="identity" 绘制平均值的 hline

    我有一个条形图 其中确切的条形高度位于数据框中 df lt data frame x LETTERS 1 6 y c 1 6 1 6 1 g rep x c a b each 6 ggplot df aes x x y y fill g g
  • corr.test 与 cor.test p 值

    我正在尝试使用 psych 包 psych 1 6 9 中的 corr test 但在使用 method spearman 时 它似乎给出了与 cor test 不同的 p 值 相关系数相同 但 p 值不同 我整理了一些示例代码和输出 如下
  • 如何使用 ggplot 绘制矩阵图

    我想可视化一个矩阵 MAT lt matrix c 100 7 0 0 49 0 0 0 49 nrow 3 ncol 3 gt MAT 1 2 3 1 100 7 0 2 0 49 0 3 0 0 49 然而 标准方法不能正确地对小数字进
  • R Plotly 禁用图例单击和图例双击

    我想使用 R Plotly 从服务器端禁用绘图图例选择 我们看here https community plot ly t disable legend click functionality hiding traces 1345 2可以使
  • 如何在闪亮的应用程序中显示矩阵,并用条件指定颜色?

    我有一个具有正值和负值的矩阵 M 我正在尝试使用 DT 包在闪亮的应用程序中显示为表格 我想用不同的颜色显示矩阵 红色的正数和负数 例如 到目前为止 我只能以一对一的方式添加颜色 但我想以这种方式添加颜色 如果matrix values g
  • 将 R 传单地图保存为 html:不包括图块

    我正在尝试使用 saveWidget 或将 rmd 文件输出到 html 来保存 R 传单地图 如下所述 将传单输出保存为 html https stackoverflow com questions 30110377 saving lea
  • 如何在shell脚本中运行R代码?

    我有一个 R 文件 myfile R 我想使用 shell 脚本来运行它 我怎样才能做到这一点 我试过这个 bin bash Rscript myfile R 但它给了我这个错误 Rscript 找不到命令 我也尝试过这个 bin bash
  • R 包“raster”在搜索“terra”最新版本时无法上传

    我正在 Windows 10 中使用 RStudio 2021 09 2 中的 R 4 1 2 工作 我正在处理空间数据 包括矢量和栅格 但三天前命令库 栅格 开始向我发出此警告 错误 loadNamespace i c lib loc l
  • 在 R 中使用科学记数法和 xtable

    我将 data frame 传递给 xtable dat table lt xtable dat 1 20 digits 10 我宁愿使用科学记数法 而不是像那样显示数字 我该怎么做呢 看过了 但我发现的只是R 格式化xtable中的数字
  • 根据第二个数据帧中的匹配创建新列

    如果有两个数据框 top3df http dpaste com 1709875 and qw qw lt structure list id structure 1 25 Label c w01 w02 w03 w04 w05 w06 w0
  • 整理包中的字段说明

    我很抱歉 因为我知道这个答案可能出现在编写 R 包的手册中 但在我阅读和查看其他包的整理字段时 我无法 100 弄清楚该字段的用途 用简单的语言 我的是英语 来看 包的描述文件中的整理字段有什么作用 人们想在那里放什么 我认为这来自于某个时
  • 在 R 中使用 ggplot2 叠加两个图

    有两个数据框 df1 df2我需要使用 ggplot2 创建线图并显示在同一个图表上 df1 x y 2 30 4 25 6 20 8 15 df2 x y 2 12 4 16 6 20 8 24 用于绘制第一个 df p1 lt ggpl
  • R/ggplot2:如何匹配重叠区域图中的图例和绘图颜色?

    我有两个面积图 称为 蓝色 和 绿色 其中green大部分是在blue情节 但在极少数点上 它高于blue阴谋 我想使用透明度说alpha 0 2对于两者 并且还能够为每个指定颜色 我现在的问题是 自从green情节主要是在blue地块 其
  • R 中的频率加权,与 Stata 的结果比较

    我正在尝试分析明尼苏达大学 IPUMS 数据集中的数据1990 年美国人口普查 http usa ipums org usa sampdesc shtml us1990a in R 我正在使用survey http faculty wash
  • 如何解决 R 估计中的整数溢出错误

    我正在尝试使用估计模型speedglm在 R 中 数据集很大 约 6988 万行和 38 列 行数和列数相乘得到约 27 亿 超出了整数限制 我无法提供数据 但以下示例重现了该问题 library speedglm large exampl
  • 使用 ggplot2 在一张画布上绘制多个图形[重复]

    这个问题在这里已经有答案了 我正在尝试根据此表将两个 ggplot2 图合并为一个图 Type RatingA RatingB 1 One 3 36 2 Two 5 53 3 One 5 57 4 One 7 74 5 Three 4 38

随机推荐