使用 ggplot 围绕多个 geom_point 组绘制轮廓

2024-01-05

I currrently have the code included below to draw this: enter image description here

我想做的是为每个组制定一个大纲,以遵循每个组中的所有要点,而不是像目前那样跳过其中的一些要点。此外,我希望每个轮廓都有半透明填充。谢谢你的帮助。

library(ggplot2)
library(reshape)
library(car)

G1 <- 1:10
G2 <- 11:20
G3 <- 21:30
G4 <- 31:35
G5 <- 36:41

sdata <- read.csv("http://dl.dropbox.com/u/58164604/sdata.csv", stringsAsFactors = FALSE)
pdata<-melt(sdata, id.vars="Var")

VarArea <- data.frame(unique(pdata$Var))
VarFinalMin <-c()
for (g in 1:max(VarArea))
{
VarNum<-pdata[which(pdata$Var==g),1:c(ncol(pdata))]
VarN <- g
VarMin <- min(VarNum$value)
VarMinN <- cbind(VarN, VarMin)
VarFinalMin <- rbind(VarFinalMin,VarMinN) 
}
VFinalMin <- data.frame(VarFinalMin)
colnames(VFinalMin)<-c("Variable", "Value")

VarFinalMax <-c()
for (g in 1:max(VarArea))
{
VarNum<-pdata[which(pdata$Var==g),1:c(ncol(pdata))]
VarN <- g
VarMax <- max(VarNum$value)
VarMaxN <- cbind(VarN, VarMax)
VarFinalMax <- rbind(VarFinalMax,VarMaxN)
}
VFinalMax <- data.frame(VarFinalMax)
colnames(VFinalMax)<-c("Variable", "Value")

VFinal<-rbind(VFinalMin, VFinalMax)
VFinal$Group <- recode(VFinal$Variable, "G1 = 'A'; G2 = 'B'; G3 = 'C'; G4 = 'D'; G5 = 'E'")

ggplot(VFinal, aes(Variable, Value, colour = Group)) + geom_point()
find_hull <- function(VFinal) VFinal[chull(VFinal$Variable, VFinal$Value), ]
hulls <- ddply(VFinal, "Group", find_hull)
ggplot(VFinal, aes(Variable, Value, colour = Group)) + geom_point() + geom_polygon(data = hulls, fill = NA)

如果您分别按升序和降序重新排列形状的底部和顶部,则可以使用geom_polygon在你原来的data.frame并跳过所有凸包的东西:

VLarge <- VFinal[which(VFinal$Value > 25000),]
VLarge <- VLarge[order(-VLarge$Variable, VLarge$Group),]
VSmall <- VFinal[which(VFinal$Value <= 25000),]
VSmall <- VSmall[order(VSmall$Variable, VSmall$Group),]
VFinal <- rbind(VSmall, VLarge)
ggplot(VFinal, aes(Variable, Value, colour = Group)) + geom_point() + 
    geom_polygon(aes(fill = Group), alpha = 0.3)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 ggplot 围绕多个 geom_point 组绘制轮廓 的相关文章

  • profvis() 何时以及为何显示“源不可用”?

    我经常分析 R 代码 并大量使用 profvis 对于某些函数 浏览器窗口的上半部分会显示源代码 有时则不会 我不知道什么时候会出现这种情况 对我来说这似乎是随机的 有谁知道 profvis 何时以及为什么无法在顶部窗口中显示代码 发生这种
  • 在 R 中读取 Stata 13 文件

    有没有办法在 R 中读取 Stata 版本 13 数据集文件 我尝试执行以下操作 gt library foreign gt data read dta TEAdataSTATA dta 但是 我收到一个错误 read dta TEAdat
  • R - 根据另一个数据框查找每组的重叠日期

    我有一个数据框 其中包含多个雨量计的降雨测量值 如下例所示 gt rnfl ID date value 1 250 2000 03 01 5 37 2 250 2000 03 02 0 00 3 250 2000 03 03 2 94 4
  • Dplyr 多重滞后整齐评估?

    我试图在 dplyr 中使用尽可能少的代码来实现多个滞后 同时坚持整洁的评估 以下标准评估 SE 代码有效 if require dplyr install packages dplyr library dplyr a as tibble
  • 仅在具有重复块名称的另一个 Rmarkdown 文档中运行一个 Rmarkdown 文档中的代码

    我正在 Rmarkdown 中编写一系列相互补充的报告 我想将上一份报告的结果纳入我目前正在编写的报告中 我看到其他建议使用的问题purl从 Rmarkdown 文档中提取 R 代码然后运行它 所以我尝试了以下操作 r read previ
  • 通过 RSelenium 单击按钮

    我正在尝试使用 Rselarium 和 Rvest 来抓取 REI 的评论 吊床 我想点击底部的按钮 x 次 这样我就可以抓取所有评论 我有点失落 这是我到目前为止所拥有的 如果您也知道如何在取景器中预览您正在做的事情 而不是屏幕打印 那就
  • 在ggplot2中创建部分虚线

    我正在 R 中创建一个图 并且需要创建一条线 其中某些值是投影 投影用虚线表示 这是代码 df data frame date c rep 2008 2013 by 1 value c 303 407 538 696 881 1094 gg
  • R:在函数中包含循环?

    以下代码可用于创建一个 data frame 其中 Kendall Tau 和 Spearman 相关结果彼此相邻 data mtcars mtcars correlation lt function x y df1 cor data fr
  • 在 R 中修改传单弹出窗口

    我想修改 R 中传单弹出窗口的外观 帮助文件指出 in the popupOptions 函数需要 传递给底层 Javascript 对象构造函数的额外选项 In 这个例子 https rstudio github io leaflet p
  • 为什么我在 ddply 中看到“错误:length(rows) == 1 is not TRUE”?

    我有一个数据框 比如工资单 例如 payroll lt read table text AgencyName Rate PayBasis Status NumRate HousingAuthority 26 843 00 Annual Fu
  • 当子集长度为零时,如何简洁地处理子集?

    从向量中排除元素x x lt c 1 4 3 2 我们可以减去位置向量 excl lt c 2 3 x excl 1 1 2 这也是动态工作的 excl lt which x which max x gt quantile x 25 1 2
  • 分割单个 SpatialPolygons 对象的多边形部分

    在 R 中 我有一个SpatialPolygons包含数百个多边形的对象 即多个多边形 我想分割这个SpatialPolygons对象放入列表中Polygons 即孔应保持连接到父多边形 知道如何做到这一点吗 EDITED 使用以下提供的示
  • 如何优化 R 中的 sapply 来计算数据帧上的运行总计

    我在 R 中编写了一个函数来按月份计算累积总数 但随着数据集变大 我的方法的执行时间呈指数增长 我是一名 R 程序员新手 你能帮我提高效率吗 该函数以及我调用该函数的方式 accumulate lt function recordnum d
  • 创建序列组合

    我正在尝试解决以下问题 考虑 5 个简单序列 0 100 100 0 rep 0 101 rep 50 101 rep 100 101 我需要 3 个数字变量的集合 它们的所有组合都具有上述序列 由于有 5 个序列和 3 个变量 因此可以有
  • 在 R Shiny 中显示/隐藏整个框元素

    我目前正在尝试找到一种方法来隐藏 显示 R Shiny 中的整个 box 元素 以及里面的所有内容 我想创建一个可能的按钮 它允许用户展开特定框 然后使用相同 甚至不同 的按钮隐藏它 我不想使用条件面板 因为我的应用程序非常大并且会产生一些
  • 求解非线性方程组

    我正在尝试求解以下四个方程组 我尝试过使用 rootSolve 包 但似乎我无法通过这种方式找到解决方案 我正在使用的代码如下 model lt function x F1 lt sqrt x 1 2 x 3 2 1 F2 lt sqrt
  • 一次评论多个对象

    假设您有一个变量 a 到 j 的列表 for x in 1 10 assign letters x x 您将如何评论那些最近创建的对象 我尝试过类似的事情 for x in 1 10 comment get letters x lt pas
  • 通过 r 中的组变量进行汇总

    我有一个数据框如下 head newStormObject FATALITIES INJURIES PROPVALDMG CROPVALDMG EVTYPE total 1 0 15 2 5e 05 0 TORNADO 15 2 0 0 2
  • R Shiny - 使用 DataTable 移动列名称

    我有一个非常复杂的闪亮代码 其中有几个面板和这些面板内的几个表格 启动应用程序时 列名称与列值正确对齐 但是 一旦我更改应用程序表格下的页码 列名称就会移动到左侧 而值仍保留在中间 如何强制应用程序使列名称与列值对齐 一个可重现的例子 li
  • DT数据表中的列对齐

    In my shiny我正在使用的应用程序datatable函数来自DT库构建一个表格并希望将列居中对齐 我可以用formatStyle column textAlign center 但它只影响列体而不影响标题 我们必须设置columnD

随机推荐

  • 无法将名称“repository:repositories”解析为“类型定义”组件

    我在编写 applicationContext xml 时遇到异常 org springframework beans factory xml XmlBeanDefinitionStoreException Line 18 in XML d
  • OpenCV + GigE 视觉相机 +c++

    几天以来 我开始研究 Mako 相机 使用以太网 GigE 我需要取回视频流以将其集成到软件公司中 我尝试在 code blocks 上使用 OpenCV 库 但总是出现错误 指出它无法看到视频流 有人可以帮助我吗 非常感谢你的帮助 inc
  • Tkinter 方法执行后立即

    TKinter after 方法立即执行 执行后暂停 3 秒 如果我还在 CheckStatus 函数中使用 after 方法 它将进入快速循环并且永远不会到达 mainloop 我究竟做错了什么 文档说该函数将在暂停时间之后调用 但实际上
  • 修改Vite/Rollup中资产的构建路径?

    假设我有这个文件夹结构 parent parent html parent js child child html child js 我希望它们在我的 dist 文件夹中以相同的结构输出 默认情况下 这是获取输出的内容 dist asset
  • 如何使用 jQuery 获取具有特定 CSS 属性的第一个父级?

    我需要找到第一个拥有的父母position relative 类似于下面的示例 但我的真实内容将动态生成 div div div div div div 您知道使用 jQuery 执行此操作的简单方法吗 You can filter的集合p
  • iOS 5 中的表情符号和 UIWebView

    我注意到我的应用程序中的表情符号已停止在 iOS 5 中的 UIWebView 上正确显示 所有字符在显示时都会被编码为 HTML 并且输出 HTML 为 p Emoji iOS 4 55357 56850 p 此 UTF 8 编码的 HT
  • ipv6 向后兼容 ipv4 吗?

    我有一个使用 ipv4 编写的小 udp 示例程序 如果我将代码更改为 ipv6 我仍然能够与使用具有 ipv4 地址的侦听器的任何人进行通信吗 我正在查看移植示例 http ou800doc caldera com en SDK neta
  • 如何将 ZeroMQ 套接字与 Ratchet Web-socket 库绑定以实现 PHP 应用程序的实时应用程序?

    我只是涉及 websocket Ratchet 和 ZeroMQ 的整个领域的初学者 以我的基本理解 websocket有助于在服务器和客户端之间创建开放连接 Ratchet是一个基于 PHP 的库 它使用 PHP 的核心 Socket 函
  • 有人知道 Java 的邮件(SMTP)传递库吗?

    我想发送邮件而不用担心用于投递的 SMTP 服务器 So Java邮件API http java sun com products javamail 对我不起作用 因为我必须指定要连接的 SMTP 服务器 我希望图书馆通过查询邮件地址域的
  • Spring Data Rest PUT 与 PATCH LinkableResources

    我正在使用 Spring Data REST 来公开我的实体及其关系 我在两个实体之间有一对一的关系 并且我正在尝试更新 更改与 PUT 和 PATCH 的关系 我注意到 Spring Data REST 只允许您更新链接资源 JPA 映射
  • 检测IE9而不进行功能检测

    所以我需要检测 IE 9 我知道我真的应该使用特征检测 https stackoverflow com questions 1944169 detecting ie using jquery 1944186 1944186但我不知道是什么功
  • 如何通过mvn命令顺序执行2个Java类

    我有 2 个具有共生关系的 Java 类 类 1 生成一些输出文件 类 2 使用类 1 的输出并验证它 这两个类都从命令行获取输入 这个项目是基于maven的 鉴于这种共生性质 我不确定如何 连接它们 我的想法是 编写另一个 Java 类
  • exec:语法错误:“返回”外部函数

    我将代码片段存储在 Postgres 数据库中 当我需要代码时 我在数据库中找到它并使用exec 功能 代码片段是extract功能 不幸的是它返回了SyntaxError return outside function Method de
  • 空对基类的目的是什么?

    libstdc 库 https github com gcc mirror gcc blob 16e2427f50c208dfe07d07f18009969502c25dc8 libstdc 2B 2B v3 include bits st
  • 在 Perl 中,如何正确解析带有引号字符串的制表符/空格分隔文件?

    我需要解析 Perl 中包含很多列的制表符 空格分隔的文件 这些值使得大字符串括在双引号内 这些字符串可以包含任何字符 例如制表符和空格或其他任何字符 当我尝试使用 split 函数解析它们时 它也会拆分这些字符串 现在我怎样才能让 per
  • 固定宽度整数类型的整数文字

    对于像这样的固定宽度整数类型 是否有一些针对整数文字的 C 建议 i s type is unsigned int auto i 10u j s type is uint32 t auto j 10u32 Yes P1280R0 整数宽度文
  • PostgreSQL 加载 back.json 文件时出现重复密钥问题

    我有一个 PostgreSQL 数据库 我在其中执行了 python manage py dumpdata 将数据备份到 json 文件中 我创建了一个新的 PostgreSQL 数据库 执行了迁移 一切都顺利进行 当我尝试使用 pytho
  • 单击外部时如何隐藏 DIV 元素

    我有一个div当我点击外部时想要隐藏它 我的代码是 div The div must be above button div mydiv click function e e stopPropagation document click f
  • Qt 的最佳 C# 绑定?

    我用 C 使用 SDL NET 和 OpenGL 编写了一个游戏 我想为其添加一个菜单 为此我需要 Qt 您推荐在 C 中为 Qt 使用哪些绑定 Qyoto http techbase kde org Development Languag
  • 使用 ggplot 围绕多个 geom_point 组绘制轮廓

    I currrently have the code included below to draw this 我想做的是为每个组制定一个大纲 以遵循每个组中的所有要点 而不是像目前那样跳过其中的一些要点 此外 我希望每个轮廓都有半透明填充