在 for 循环中使用 ggplot2 绘制多个图

2024-01-11

我看了这些问题(1) https://stackoverflow.com/questions/3824412/ggplot2-use-options-for-multiple-plots and (2) https://stackoverflow.com/questions/7452683/multiple-ggplots-in-for-loop,但是,它们似乎与我在这里的问题无关。

我试图首先创建丝带(在 for 循环之外),并在 for 循环内添加一堆线图和点图。但是,最终的绘图仅包含最后一个 for 循环中的线/点,而不是全部。整个代码位于一个函数中,我想从该函数返回 ggplot(p,在本例中) 对象,以便稍后使用它。

hist_points_cols_val<-hist_points_cols(hist_points)
hist_points_labels_val<-hist_points_labels(hist_points)
p <- ggplot()+
geom_ribbon(aes(x = x_labels , ymin = Min , ymax = Max),data=t_out_summary,colour = '#ece9d8',fill = '#ff9999',alpha = 0.4)+
geom_ribbon(aes(x = x_labels , ymin = Qtr1 , ymax = Qtr3),data=t_out_summary,colour = '#ece9d8',fill = '#33ff99',alpha = 0.2)+
scale_x_discrete(name=scale_x, labels=plot_labels)+
scale_y_continuous(name=scale_y, labels = percent_format())+
geom_line(aes(x = x_labels,y = Median,colour="Median"),data=t_out_summary)+
geom_point(aes(x = x_labels,y = Median,colour="Median"),data=t_out_summary,shape=4)

print(hist_points_cols_val)
print(hist_points_labels_val)
for( i in 1: length(hist_points)){
p   <- p + geom_line(aes(x = x_labels,y = t_out_summary[[hist_points_cols_val[i]]],colour=hist_points_labels_val[i]),data=t_out_summary,linetype='dashed')+
    geom_point(aes(x = x_labels,y = t_out_summary[[hist_points_cols_val[i]]],colour=hist_points_labels_val[i]),data=t_out_summary,shape=4)      
}

p<-p+scale_colour_hue(name="Legend")

数据如下:

`> str(t_out_summary)
'data.frame':   12 obs. of  11 variables:
 $ Min     : num  0.121 0.132 0.145 0.164 0.172 ...
 $ Qtr1    : num  0.154 0.165 0.174 0.191 0.2 ...
 $ Median  : num  0.184 0.195 0.203 0.218 0.225 ...
 $ Qtr3    : num  0.22 0.231 0.238 0.249 0.253 ...
 $ Max     : num  0.398 0.381 0.37 0.351 0.339 ...
 $ p_1D    : num  0.16 0.169 0.176 0.197 0.207 ...
 $ p_2D    : num  0.153 0.163 0.171 0.193 0.204 ...
 $ p_1W    : num  0.168 0.179 0.187 0.204 0.215 ...
 $ p_2W    : num  0.141 0.154 0.163 0.184 0.196 ...
 $ p_1M    : num  0.146 0.157 0.165 0.186 0.201 ...
 $ x_labels: int  1 2 3 4 5 6 7 8 9 10 ...`

我正在使用最小、最大点来构建丝带,然后想添加 p_1D、p_2D 点和线。我不确定你所说的有利于ggplot2图形的方式是什么意思?我正在使用 for 循环来覆盖不同的图。没有for循环我该怎么做?


您尚未提供可重现的示例,因此我将尝试解释我会尝试的内容:

将绘图保存到列表中,每个列表元素中的功能区都相同。 然后循环列表并添加不同的线和点。 然后将图例名称添加到每个列表元素中。

然后您可以从列表中访问绘图。

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

在 for 循环中使用 ggplot2 绘制多个图 的相关文章

随机推荐

  • 如何使用GCM成功“在客户端生成通知密钥”? [复制]

    这个问题在这里已经有答案了 我按照以下说明进行操作 但响应始终是 HTTP 401 未经授权 我已验证ID令牌 注册ID和项目ID 编号 均有效 遗憾的是 回复中没有提供详细原因 https developer android com go
  • 如何在 HttpModule 中执行 XSLT 转换?

    我一直在尝试将服务器端 XSLT 转换实现为 IIS HttpModule 我的基本方法是在 BeginRequest 处安装一个新的过滤器 将写入转移到 MemoryStream 中 然后在 PreSendRequestContent 处
  • 如何单击或双击网页上的某个单词来触发事件处理程序?

    对于像这样的页面 http www answers com http www answers com 如果用户双击页面中的任何单词 将会出现一个弹出框并显示该单词的定义 我可以想出一种方法 使用 DOM 脚本来分解页面中的所有单词 然后使每
  • Android - 创建带有事件的自定义日历

    我有一个显示特殊日子的应用程序 我想将它们整合到日历中 这些事件是静态的 不会改变 所以我不必经常更新日历 我首先想到创建一个本地日历并添加事件 但新的 Android 版本 自 2 3 起 似乎不支持这一点 要实现我必须创建一个日历提供程
  • 本文中的“本地数据缓存”是什么意思?

    摘自以下正文 http developer yahoo com hadoop tutorial module2 html 它提到顺序可读的大文件不适合本地缓存 但我不明白本地是什么意思 我认为有两个假设 一是Client缓存来自HDFS的数
  • 编译器能够优化意大利面条式代码吗?

    我正在编写一个最后生成 C 代码的编译器 我无法使用while for或任何其他正常循环 所以我将其翻译为goto if和像这样的作业 调用行 if i
  • Lollipop 下面的 Material Design 支持 - 崩溃

    我一直在尝试实现材料设计主题 如下这些说明 http android developers blogspot co il 2014 10 appcompat v21 material design for pre html 我没有使用Too
  • 如何处理 Fish 中的 null_glob 结果?

    我有一个包含以下内容的鱼函数rm陈述 rm path to dir log 如果该路径中有 log 文件 则该语句可以正常工作 但如果没有 log 文件 则该语句将失败 错误是 config fish functions myfunc fi
  • 如何查明工作项更改集文件项是否是新添加或修改的?

    我有一些更改集对象 我需要查明更改集中的文件是否是新添加或修改的 下面是我用来获取更改集的代码 IChangeSetHandle changeSets convertToChangeSetHandles extracted changeSe
  • 如何正确地将图像插入带有 URL 的 BIRT 报告中?

    我使用 Eclipse 中的 URL 将来自 Web 的图像插入到 BIRT 报告中 但它不起作用 它在布局屏幕上显示一个小红色 X 如果我选择运行 查看报告 作为 PDF 它会显示 无法访问此报告项目的资源 这里有什么问题 我用谷歌搜索了
  • 如何在Python中将数组分割成给定长度的块? [复制]

    这个问题在这里已经有答案了 什么是最快和最短的方法来扭转这个 ids 1 2 3 4 5 6 7 8 9 例如 ids 1 2 3 4 5 6 7 8 9 通过给出输入2作为固定长度 当然 有一些简单的方法可以做到这一点 但我认为它们都不是
  • AppleScript:将安装的文件夹添加到 Finder 侧边栏?

    我有一个简单的 Apple 脚本来安装文件夹 mount volume smb machineip folder 它在启动时运行 因为 Mac OS X 10 5 5 没有像 Windows 那样的映射驱动器的概念 但剧本并没有达到我想要的
  • 如何在 MongoDB 中对集合记录内的数组进行排序?

    我有一组学生 每个学生都有如下所示的记录 我想对它们进行排序scores数组按降序排列score 这个咒语在 mongo shell 上是什么样子的 gt db students find id 1 pretty id 1 name Aur
  • 动态变量 Jekyll Liquid

    我想在 jekyll Liquid 安装中使用动态变量 我想使用动态变量动态访问 config yml 文件 名称 最好用一个例子来解释 Page layout default title title homepage 默认布局 site
  • 如何用Java更新MongoDb数据库?

    我是 MongoDb 的新手 有很多关于在 2 x 版本中更新集合的示例 但我找不到任何关于 3 x 版本的来源 Java代码 MongoClient mongoClient new MongoClient localhost 27017
  • 调整大小时避免在两个单词之间断行[重复]

    这个问题在这里已经有答案了 我有一个字符串 我需要它不要破坏不同行中的两个特定单词 例子 Ask for it it when contracting until 2016 09 30 with T 2 Rate 当我调整窗口大小并使其变小
  • Firebase 身份验证在应用删除后仍然存在? [复制]

    这个问题在这里已经有答案了 我刚刚发布了一个应用程序 它使用 Firebase 身份验证和 Gmail 来对用户进行身份验证 我注意到 如果有人登录然后删除该应用程序 如果他们重新下载该应用程序 他们仍然会使用 Firebase 登录 在我
  • 以编程方式重新启动 React Native 应用程序

    是否可以在不编写任何本机代码的情况下以编程方式重新启动 React Native 应用程序 例如 我从答案中知道这个问题 https stackoverflow com questions 15564614 how to restart a
  • 组织捕获和计时行为不当

    我相信你们中的一些人可能已经 从我最近提出的一系列问题中 了解到我正在 emacs 上设置组织模式并浏览 Brent Hansen 令人印象深刻的组织set up http doc norang ca org mode html 他是一个计
  • 在 for 循环中使用 ggplot2 绘制多个图

    我看了这些问题 1 https stackoverflow com questions 3824412 ggplot2 use options for multiple plots and 2 https stackoverflow com