添加图例来指示形状

2024-01-03

需要一些帮助来为图中使用的形状添加图例,如下所述。该图如下 - 它是一个箱形图,表示平均值的点,表示置信区间的误差线。

结果图如下 -我如何添加一个图例来告诉red circles表明meangreen error bars表明confidence interval ?- 如下图所示

必填图例

Plot Box plot with mean & ci

下面给出了用于生成上述内容的数据和代码,以供参考。

df <- data.frame(cbind(mtcars[,1], mtcars[,2])) #mtcars[, 1:2]
colnames(df) <- c("metric", "group")
df$group <- factor(df$group)

p1 <- ggplot(data=df, aes(x=group, y=metric ) ) +
  geom_boxplot()

metric_means <- aggregate(df$metric, list(df$group), mean) 
metric_ci_95 <- aggregate(df$metric, list(df$group), function(x){1.96*sd(x)/sqrt(length(x))})
metric_mean_ci = data.frame(group=metric_means[,1],mean=metric_means[,2], ci=metric_ci_95[,2])

# plot mean
p1 <- p1 + geom_point(data=metric_means, aes(x=metric_means[,1], y=metric_means[,2]),
                      colour="red", shape=21, size=2)

#plot confidence interval
p1 <- p1 + geom_errorbar(data=metric_mean_ci, aes(ymin=mean-ci, ymax=mean+ci, x=group, y=mean),
                         color="green", width=.1)

p1

需要在上面的代码中添加什么才能获得显示圆形和错误条形状指示的统计摘要的图例?


如果您确实想单独为它们着色,可以使用此代码。我在用geom_linerange代替geom_errorbar在图例中获得一条垂直线。此外,按照建议,我正在映射内部的颜色aes获得图例,然后我使用override.aes限制每个值的绘图内容。

ggplot(data=df, aes(x=group, y=metric ) ) +
  geom_boxplot() +
  geom_point(data=metric_means
             , aes(x=metric_means[,1]
                   , y=metric_means[,2]
                   , colour = "Mean")
             , shape=21, size=2) +
  geom_linerange(data=metric_mean_ci
                 , aes(ymin=mean-ci
                      , ymax=mean+ci
                      , x=group
                      , y=mean
                      , color="95% CI")
                ) +
  scale_color_manual(name = "", values = c("green", "red")) +
  guides(colour = guide_legend(override.aes = list(linetype = c("solid", "blank")
                                                   , shape = c(NA, 1))))

Gives:

另一种方法是使用一些已经可用的功能,这需要不太复杂的设置,具体来说,stat_summary:

ggplot(data=df
       , aes(x=group, y=metric ) ) +
  geom_boxplot() +
  stat_summary(
    aes(color = "Mean and 95% CI")
    , fun.data = mean_cl_normal
    )

Gives:

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

添加图例来指示形状 的相关文章

随机推荐

  • 创建多页 PDF

    我需要实现创建包含多页文本的 pdf 的功能 class PDFCreator func prepareData gt Data 1 let pdfMetaData kCGPDFContextCreator PDF Creator kCGP
  • python 脚本完成后保持 Selenium 浏览器打开

    我正在开发一个硒项目 但每次脚本结束时 窗口都会自动关闭 不过 在脚本关闭后 我想保持窗口打开 我用谷歌搜索了这个 stackoverflow 说使用以下代码来保持它打开 chrome options webdriver ChromeOpt
  • Groovy 从 URL 下载图像

    我想知道从该 RUL 下载图像的正确方法是什么 http www hidemyass com proxy list img port 7018246 1 http www hidemyass com proxy list img port
  • 浏览速度取决于浏览器吗?

    浏览速度取决于浏览器 如IE firefox 吗 如果取决于浏览器 哪种浏览器最好并且运行速度最快 如果我们清除浏览器的缓存 会不会降低浏览速度 thanks 是的 这取决于浏览器 不仅是哪个浏览器 还有它的配置 有很多东西在不同的浏览器中
  • error_log 与包含的文件位于同一目录中吗?

    我研究了不同的方法和指令 包括 自动前置文件 user ini 文件 getcwd 调试回溯 我似乎找不到一种方法来更改 error log 的路径以登录与包含 需要的文件相同的路径 例如 假设 index php 有以下行 include
  • 使用 Alembic 时导入应用程序会引发 ImportError

    我正在尝试研究如何在 Flask 中使用 alembic 我想在 Flask 应用程序中导入一个方法 tree README md alembic README env py env pyc script py mako versions
  • 删除 uiwindow 的子视图?

    我想从 uiwindow 中删除一个视图 所以我在 appdelegate 方法中 nslog 它说窗口的子视图计为两个NSLog d self window subviews count 那么我如何从窗口中删除该子视图 如果我删除该子视图
  • Anaconda 安装卡在解压:anaconda-2020.02-py37_0.tar.bz2?

    我是Python新手 我正在我的 Windows 7 笔记本电脑上安装 Anaconda 3 2020 02 64 位 它卡在文件名 anaconda 2020 02 py37 tar bz2 处 我尝试了多次 但每次都会发生 我刚刚做完
  • 是否有稳定且生产质量的 nosql 数据存储?

    是否有可以在生产系统上使用的生产质量 nosql 存储 我看过 cassandra tokyodb couchdb 等 但它们似乎都没有准备好在生产环境中进行部署 我说的是每分钟数千个请求和大量的读 写 更新 我唯一关心的是速度和服务时间
  • 您测试 iPhone / iPad 应用程序的方法是什么?

    在为 iPhone iPad 开发时 您会 进行单元 集成 等测试 您使用什么框架 您还尝试过哪些其他框架 如果您决定不使用它们 为什么不呢 NOTE这是基于一个几天前提出的问题 https stackoverflow com questi
  • 如何将 SQLite 文件中的更改迁移到现有应用程序中?

    我已经提交了一个 iOS 应用程序SQLite数据库文件用于在应用程序内存储数据 现在 在应用程序的下一个版本中 我对数据库文件进行了一些修改 Like 添加了新表 1 个空表 2 个包含固定数据 在表中添加了新列 从表中删除现有列 什么
  • 是否可以在 webview 中打开 sdcard/cache 中存储的 pdf 文件?

    我正在我的应用程序中下载 PDF 文件并希望允许用户查看它 是否有可能使用 webview 我可以显示下载到 SD 卡或本地内存的 pdf 文件 据我所知 有一种解决方法 我可以将 pdf 文件的链接提供到 google url 这将在 w
  • 扭曲意外连接丢失

    我使用 Python Twisted 编写了一个 TCP 服务器 用于从客户端发送 接收二进制数据 当客户关闭其应用程序或调用abortConnection方法 我得到connectionLost事件正常 但当客户端意外断开连接时 我没有收
  • Node.js 模块是否需要包装在模块模式中?

    为了确保适当的隔离 我倾向于将我编写的每个 node js 模块包装在函数范围内 function var express require express var jade require jade var moment require m
  • Spring MVC:无法反序列化 START_ARRAY 令牌之外的实例

    我已经为此绞尽脑汁有一段时间了 但仍然没有快乐 我是 Spring 新手 确实需要一些帮助 我正在尝试使用 Spring Boot 从数据库表返回代码列表 当我从浏览器中的 URL 调用 REST 控制器时 示例网址 本地主机 8081 c
  • unity3d如何更改实例化预制件的颜色

    在统一中 我有一个预制件 我想实例化它并将实例化预制件的颜色更改为黑色 预制件的默认颜色为黄色 我的目标是将颜色更改为随机颜色 但现在它只是黑色 稍后我会制作随机颜色 但有一个问题 颜色没有改变 我检查了互联网上的一些解决方案 但没有一个适
  • 如何在 Jekyll 中从 Liquid 块生成文件?

    我正在写一个plugin https gist github com 3469301定义了一个新的 Jekyll 块ditaa 块中的任何内容都应从迪塔标记 http ditaa sourceforge net 到图像文件 并将该图像插入帖
  • VBA VS. VSTO有什么区别,我应该升级吗?

    我是 KISS 原则 保持简单 的忠实粉丝 并且是 excel VBA 的长期用户 然而 我能找到的所有关于 VBA 与 VSTO Visual Studio Tools for Office 的文章似乎都非常复杂 首先 我厌倦了 Exce
  • 在 Python 中使用多个参数进行字符串格式化(例如“%s ... %s”)

    我有一个看起来像这样的字符串 s in s 我想知道如何分离参数 使它们成为两个不同的 s 我的想法来自于 Java s in s unicode self author unicode self publication 但这不起作用 那么
  • 添加图例来指示形状

    需要一些帮助来为图中使用的形状添加图例 如下所述 该图如下 它是一个箱形图 表示平均值的点 表示置信区间的误差线 结果图如下 我如何添加一个图例来告诉red circles表明mean和green error bars表明confidenc