r - 如何像箱线图一样在 R 中创建分类散点图?

标签 r graph plot scatter-plot boxplot

有谁知道如何在 R 中创建散点图创建像 these 这样的图在 PRISM 的图形面板中:

enter image description here

我尝试使用箱线图,但它们没有按照我想要的方式显示数据。 graphpad 可以生成的这些列散点图更适合我显示数据。

任何建议,将不胜感激。

最佳答案

正如@smillig 所提到的,您可以使用 ggplot2 来实现这一点。下面的代码很好地再现了您所追求的情节 - 警告它非常棘手。首先加载ggplot2包并生成一些数据:

library(ggplot2)
dd = data.frame(values=runif(21), type = c("Control", "Treated", "Treated + A"))

接下来更改默认主题:
theme_set(theme_bw())

现在我们构建情节。
  • 构建一个基础对象 - 没有绘制任何内容:
    g = ggplot(dd, aes(type, values))
    
  • 添加点:调整默认抖动并根据类型更改字形:
    g = g + geom_jitter(aes(pch=type), position=position_jitter(width=0.1))
    
  • 添加“盒子”:计算盒子的结束位置。在这种情况下,我选择了平均值。如果您不想要盒子,只需 省略 这一步。
    g = g + stat_summary(fun.y = function(i) mean(i), 
            geom="bar", fill="white", colour="black")
    
  • 添加一些误差线:计算上限/下限并调整条宽:
    g  = g + stat_summary(
            fun.ymax=function(i) mean(i) + qt(0.975, length(i))*sd(i)/length(i), 
            fun.ymin=function(i) mean(i) - qt(0.975, length(i)) *sd(i)/length(i),
            geom="errorbar", width=0.2)
    
  • 显示绘图
    g
    

  • enter image description here
  • 在我上面的 R 代码中,我使用了 stat_summary即时计算所需的值。您还可以创建单独的数据框并使用 geom_errorbargeom_bar .
  • 要使用基础 R,请查看我对此的回答 question .
  • 关于r - 如何像箱线图一样在 R 中创建分类散点图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12399506/

    相关文章:

    python - 用 folium 绘制标记是否有限制?

    python - Matplotlib:如何从数组的列中绘制多条线,但给它们一个标签?

    r - 在 r 中为带有彩色叶子的树状图创建图例

    r - R 基础包的包依赖项

    c++ - 带有字符串顶点的 Boost 图

    r - 将函数应用于数据框的子集

    algorithm - Bellman-Ford 算法和步骤数

    algorithm - 图 - 如何计算从 v1 到 v2 所需的最小 "broken roads"数量?

    r - dplyr无需对变量名进行硬编码

    r - 如何重命名包含 "(N)"的列名?