ggplot2:使用选定的面和零件数据创建绘图

2024-04-29

我想创建一个情节

  1. 使用部分数据创建基本图facet_grid两列。
  2. 使用数据的剩余部分并在现有方面的顶部进行绘图,但仅使用单个列。

示例代码:

library(ggplot2)
library(gridExtra)

df2 <- data.frame(Class=rep(c('A','B','C'),each=20), 
                 Type=rep(rep(c('T1','T2'),each=10), 3),
                 X=rep(rep(1:10,each=2), 3),
                 Y=c(rep(seq(3,-3, length.out = 10),2), 
                    rep(seq(1,-4, length.out = 10),2), 
                    rep(seq(-2,-8, length.out = 10),2)))

g2 <- ggplot() + geom_line(data = df2 %>% filter(Class %in% c('B','C')),
                           aes(X,Y,color=Class, linetype=Type)) + 
  facet_grid(Type~Class)

g3 <- ggplot() + geom_line(data = df2 %>% filter(Class == 'A'), 
                           aes(X,Y,color=Class, linetype=Type)) + 
  facet_wrap(~Type)

grid.arrange(g2, g3)

输出图:

如何纳入g3阴谋于g2阴谋?结果图应包括g3两条线在两个面上两次。


我认为下面的情节就是您正在寻找的内容。

library(dplyr)
library(ggplot2)
df_1 <- filter(df2, Class %in% c('B','C')) %>% 
 dplyr::rename(Class_1 = Class)
df_2 <- filter(df2, Class == 'A') 

g2 <- ggplot() + 
 geom_line(data = df_1,
           aes(X, Y, color = Class_1, linetype = Type)) +
 geom_line(data = df_2,
           aes(X, Y, color = Class, linetype = Type)) +
 facet_grid(Type ~ Class_1)
g2

解释

对于这样的任务,我发现使用两个数据集更好。由于变量df2$class具有三个独特的值:A, B and C, 刻面Class~Type没有给你想要的情节,因为你想要的数据df2$Class == "A"分别显示在各个方面。

这就是我重命名变量的原因Class in df_1 to Class_1因为这个变量只包含两个唯一值:B and C。 刻面Class_1 ~ Type允许您绘制数据df2$Class == "A"在顶部而不被刻面Class.

edit

根据下面的评论,这是一种仅使用一个数据集的解决方案

g2 + geom_line(data = filter(df2, Class == 'A')[, -1], 
               aes(X, Y, linetype = Type, col = "A"))

类似/相同的问题:ggplot2:: 在所有面板中使用相同的参考图进行分面图 https://stackoverflow.com/questions/48464000/ggplot2-facetting-plot-with-the-same-reference-plot-in-all-panels/48467689#48467689

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

ggplot2:使用选定的面和零件数据创建绘图 的相关文章

  • 如何使用 RODBC 将数据帧保存到数据库生成的主键表

    我想使用 R 脚本将数据框输入到数据库中的现有表中 并且希望数据库中的表具有顺序主键 我的问题是 RODBC 似乎不允许主键约束 这是创建我想要的表的 SQL CREATE TABLE dbo results ID INT IDENTITY
  • 带有 geom_errorbar 的position_dodge

    我有以下代码 require ggplot2 pd lt position dodge 0 3 ggplot dt aes x Time y OR colour Group geom errorbar aes ymin CI lower y
  • 自定义 colorRampPalette 中的颜色条

    我定义了一个 colorRampPalette my colors colorRampPalette c light green yellow orange red 如何为其绘制颜色条 图例 项目 最好仅使用基本包 我正在寻找一个充满该颜色
  • 使用 gtable 排列 ggplot 绘图(具有相同宽度的 grobs)以创建 2x2 布局

    我正在尝试使用 grobs 和 gtable 将 4 个 ggplot2 图排列成 2x2 网格 我不知道如何设置宽度 也不知道如何设置非 1xn 或 nx1 排列 使用此代码 data iris a lt ggplot iris aes
  • 生成因子变量水平的预测值

    我正在使用连续结果变量对多个因子变量进行回归lm 例如 fit lt lm dv factor hour factor weekday factor month factor year count data df 我想生成预测值 yhat
  • 如何加速 R for 循环?

    我正在为 R 中 GWmodel 包中的 gwr basic 函数运行以下 for 循环 我需要做的是收集任何给定带宽的估计参数的平均值 代码如下 library GWmodel data DubVoter Dub voter LARent
  • ggplot堆叠条 - 隐藏标签但保留标签位置

    我在 ggplot 中有一个堆积条形图 其中 geom text 标签位于每个条形的中心 我想隐藏小条上的标签 以便图表看起来不会过于拥挤 我可以使用下面的代码来完成此操作 但它会弄乱标签的位置 正如您在下面的链接图片中看到的那样 它们不再
  • 如何融合颜色和形状?

    当我有一个超过 6 个值的变量时 我的麻烦就开始了 因为这是 ggplot2 中 scale shape 函数的当前最大值 由于这个问题 我尝试使用另一个变量来解决这个问题 我只是将原始变量的长度包裹起来 这是我的示例代码 dataf lt
  • 按列分组的数据帧上 R 中的行之间的差异

    我希望通过 app name 获得不同版本的计数差异 我的数据集如下所示 app name version id count difference 这是数据集 data structure list app name structure c
  • 带有nearPoints()的动态ggplot图层闪亮

    我熟悉闪亮的基础知识 但在这里遇到了一些困难 我希望能够在单击某个点以突出显示该点时添加 ggplot 图层 我知道 ggvis 可以做到这一点 并且画廊中有一个很好的例子 但我希望能够使用nearPoints 捕获点击作为 ui 输入 我
  • Plotly 绘图不会在 RMarkdown 文档的 for 循环内渲染

    我正在尝试动态构建一个需要运行循环的报告 并为每次迭代打印一些消息 表格和绘图 我可以让一切正常运转except为了情节 示例 rmd r echo FALSE results asis fig keep all message FALSE
  • 在嵌套 tibbles 上应用 ntile

    我正在尝试申请ntile在一些嵌套的小标题上 但我似乎无法让它工作 你能看出我错在哪里吗 data iris iris gt group by Species gt mutate quintile ntile Petal Length 5
  • 如果条件长度 > 1 并且仅使用第一个元素,为什么我会在 R 中收到此警告

    我有下面的源代码 这if is na monthData 用于检查是否monthData is NA 如果是 则为其分配一个初始值 monthData lt NA if category QUARTER for m in c rep 1 4
  • 删除 R 中具有重复属性的行

    我有一个大数据框 其中包含以下列 ID time OS IP 该数据帧的每一行对应一个条目 在该数据框中对于某些IDs存在多个条目 行 我想删除这些多行 显然 同一 ID 的其他属性会有所不同 或者换句话说 我只想要每个 ID 一个条目 行
  • 循环中的knitr模板和子文档

    圣诞节前我之前问过跨多个 knitr 文档的单一样式表 https stackoverflow com questions 20370584 single style sheet across multiple knitr document
  • 优化 R 中的嵌套 for 循环

    我尝试加速下面的代码 但没有成功 我读到Rfast https cran r project org web packages Rfast Rfast pdf包 但我也未能实现该包 有没有办法优化R中的以下代码 RI lt function
  • 抑制 R 中的错​​误消息

    我正在 R 中运行模拟研究 有时 我的模拟研究会产生错误消息 当我在函数中实现模拟研究时 当出现此错误消息时模拟停止 我知道抑制错误是不好的做法 但此时对我来说 除了抑制错误然后继续下一个模拟 直到达到我喜欢运行的模拟总数为止 没有其他选择
  • 栅格堆叠后如何写入?

    我想操作几个光栅文件 然后再次写入它们 rasterfiles lt list files C data envi full names TRUE d1 lt overlay stack rasterfiles fun function x
  • 无法在 Document-Term-Matrix 中看到 `RTextTools::toLower()` 文本的结果

    我尝试创建一个矩阵 为此我想降低文本 为此 我使用此 R 指令 matrix create matrix tweets 1 toLower TRUE language english removeStopwords FALSE remove
  • 将天气 iframe 嵌入到 Shiny Dashboard 中

    我正在尝试将 Forecast io 的天气预报嵌入到闪亮的仪表板中 我最初在使用 符号时遇到了麻烦 但看到一篇文章提供了如何使用特殊字符格式化 HTML 代码的示例 但是 当我运行该应用程序时 我看到一个简单的 未找到 即使我知道该链接有

随机推荐