删除列标签的背景颜色,同时保留绘图背景颜色 ggpairs

2023-12-02

我定义了一个函数来设置 ggpairs 中的背景,以匹配两个变量之间的相关程度。 但是,我还想从沿图外部运行的变量标签中删除灰色背景,但如果不删除相关颜色,我就无法做到这一点。

library(GGally)

# Loads some data
mtcars <- dput(mtcars)[,1:6]

# Defines function to color according to correlation
cor_func <- function(data, mapping, method, symbol, ...){
  x <- eval_data_col(data, mapping$x)
  y <- eval_data_col(data, mapping$y)

  corr <- cor(x, y, method=method, use='complete.obs')

  colFn <- colorRampPalette(c("brown1", "white", "dodgerblue"), 
                interpolate ='spline')
  fill <- colFn(100)[findInterval(corr, seq(-1, 1, length = 100))]

  ggally_text(
    label = paste(symbol, as.character(round(corr, 2))), 
    mapping = aes(),
    xP = 0.5, yP = 0.5,
    color = 'black',
    ...) + 
    theme_void() +
    theme(panel.background = element_rect(fill = fill))
}

# Following the suggestion by @Jonni
pm <- ggpairs(mtcars, 
          upper = list(continuous = wrap(cor_func,
                  method = 'spearman', symbol = expression('\u03C1 ='))),
          lower = list(continuous = function(data, mapping, ...) {
                  ggally_smooth_lm(data = data, mapping = mapping) +
                  theme(panel.background = element_blank())}),
          diag = list(continuous = function(data, mapping, ...) {
                  ggally_densityDiag(data = data, mapping = mapping) + 
                  theme(panel.background = element_blank())}
                ))

pm

# All of these methods looses the correlation color in addition
# to the background color of the labels
pm + theme(strip.background = element_rect(fill = "white"))
pm + theme(strip.background = element_rect(fill = NA))   
pm + theme(strip.background = element_blank())

# This only looses the correlation colors
pm + theme(panel.grid.major = element_blank(), panel.grid.minor = 
                  element_blank())

这是第一次调用绘图时产生的颜色图(仍然具有灰色标签背景):

enter image description here


::编辑:: 这对我有用,可以从侧面标签中删除灰色。函数中取出了theme_void(),并在最后指定了个性化主题。

mtcars <- dput(mtcars)[,1:6]

# Defines function to color according to correlation
cor_func <- function(data, mapping, method, symbol, ...){
  x <- eval_data_col(data, mapping$x)
  y <- eval_data_col(data, mapping$y)

 corr <- cor(x, y, method=method, use='complete.obs')
  colFn <- colorRampPalette(c("brown1", "white", "dodgerblue"), 
                       interpolate ='spline')
 fill <- colFn(100)[findInterval(corr, seq(-1, 1, length = 100))]

ggally_text(
label = paste(symbol, as.character(round(corr, 2))), 
mapping = aes(),
xP = 0.5, yP = 0.5,
color = 'black',
...
) + #removed theme_void()
theme(panel.background = element_rect(fill = fill))
}

pm <- ggpairs(mtcars, 
          upper = list(continuous = wrap(cor_func,
                  method = 'spearman', symbol = expression('\u03C1 ='))),
          lower = list(continuous = function(data, mapping, ...) {
                  ggally_smooth_lm(data = data, mapping = mapping) +
                  theme(panel.background = element_blank())}),
          diag = list(continuous = function(data, mapping, ...) {
                  ggally_densityDiag(data = data, mapping = mapping) + 
                  theme(panel.background = element_blank())}
                ))

mytheme = theme(strip.background = element_rect(fill = "white"),panel.grid.major = element_blank(), panel.grid.minor = element_blank())


pm + mytheme

可能不需要定义主题,但如果您必须制作多个主题,则可能会很有用

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

删除列标签的背景颜色,同时保留绘图背景颜色 ggpairs 的相关文章

  • 在 R 中绘制对数正态概率密度

    我正在尝试在 R 中生成对数正态概率密度图 其中包含 3 个不同的均值对数和标准差对数 我尝试了以下方法 但我的图表太丑了 看起来一点也不好看 x lt seq 0 10 length 100 a lt dlnorm x meanlog 0
  • 从 R 中的 HTTPS 连接逐行读取

    当创建连接时open r 它允许逐行读取 这对于批量处理大数据流非常有用 例如这个脚本 https gist github com jeroenooms d33a24958d99bb969ac0通过一次读取 100 行来解析相当大的 gzi
  • R 编程:如何计算数据框中两个单元格之间的差异并将它们保存在新列中

    尝试学习 R 并陷入自相关示例中 我想将 x 的差异与 y 的差异进行回归 我在数据框中有 x 和 y 并且希望将 x2 x1 的差值保存在新列 例如 dx 中 我不知道该怎么做 我拥有的 data1 x y 5 3 8 9 3 1 1 5
  • 仅保留百分比的尾随零

    给出以下示例 library pander tableAbs lt Titanic 1 1 tablePct lt round prop table tableAbs 100 2 table lt cbind tableAbs tableP
  • fread 将空导入为 NA

    我正在尝试导入带有空白的 csv 读取为 不幸的是他们都读作 NA now 为了更好地演示问题 我还展示了如何NA NA and 都映射到同一事物 除了最底部的示例 这将妨碍简单的解决方法dt is na dt lt gt write cs
  • glmnet 未从 cv.glmnet 收敛 lambda.min

    我跑了20倍cv glmnet套索模型以获得 lambda 的 最佳 值 但是 当我尝试重现结果时glmnet 我收到一个错误 内容如下 Warning messages 1 from glmnet Fortran code error c
  • 如何在R中同时对三个字段进行网络分析

    如何在 R 中同时对三个字段进行网络分析 下面是示例数据以及desired output在最后一栏中 df lt data frame stringsAsFactors FALSE id 1 c ABC ABC BCD CDE DEF EF
  • 如何匹配 R 中的所有匹配项?

    我有 1000 个名字的列表 说A 我还有另外 5 个名字的清单 说B 我想找出这5个名字出现在1000个号码列表中的第几行 例如 Amy 在 A 中可以出现 25 次 B 里有艾米 我想知道 Amy 出现在 A 中的哪些行 我以前使用过
  • ggplot2、R 中的单条形条形图

    我有以下数据和代码 gt ddf var1 var2 1 aa 73 2 bb 18 3 cc 9 gt gt dput ddf structure list var1 c aa bb cc var2 c 73L 18L 9L Names
  • 如何从shiny中将数据下载到多张纸上?

    我们如何将数据从 Shiny 下载到多个工作表并命名每个工作表 例如下面 ginberg将mtcars数据保存在sheet1中 我们可以将头部 mtcars 保存在sheet2中吗 另外 我们可以对这些工作表进行不同的命名吗 例如sheet
  • 从数据框创建稀疏矩阵

    我正在做一项作业 尝试为 Netflix 奖项数据构建协作过滤模型 我使用的数据位于 CSV 文件中 我可以轻松地将其导入到数据框中 现在我需要做的是创建一个稀疏矩阵 其中用户作为行 电影作为列 每个单元格都由相应的评级值填充 当我尝试绘制
  • 为什么 \K 似乎消耗了基本 R 的 gsub 中的一个字符

    这是一个示例字符串 bcadefgh 我希望我能匹配除了 cad 具有以下模式 wa w K w 如果我想替换所有不是的东西 cad 我可以用gsub 像这样gsub wa w K w bcadefgh perl TRUE 但是这输出 ca
  • 如何修改秤包生成的标签?

    所以我正在制作金字塔可视化 我在用着scale y continuous labels scales label number si accuracy 0 1 来生产标签 但是 我想去掉图表女性部分的负号 我认为保留 SI 后缀但删除负号的
  • 更改计划的开始日期以优化资源

    我有很多工作需要在特定的时间间隔执行 然而 我们每天完成这项工作的资源有限 因此 我正在尝试优化开始时间日期 开始时间日期只能向前移动 不能向后移动 以便每天使用的资源与我们的预算更加不相似 这些函数在下面的示例中使用 Function t
  • 捕获段错误、内存未映射错误

    我试图在 R 中找到 1347 x 209974 矩阵的列的相关性 每次我这样做 使用一个简单的命令cor matrix 我收到消息 caught segfault address 0xffffffffd058abf8 cause memo
  • 使用许多特殊字符将 R 连接到 HANA 数据库时出现问题

    我在将 HANA 数据读入 R 时遇到问题 我已通过以下方式建立了连接 ch lt odbcConnect HANA uid USER pwd PW 并确认我已通过以下方式连接 sqlTables ch 这会调出我的表格列表 对我想要拉取的
  • 如何动态访问数据帧列表中的特定属性

    我有一个数据 它是数据框的列表 我正在尝试访问列表中每个数据帧内的特定属性 可以提取特定属性DP UniqueId使用下面的代码 gt attr new data A AA SpotfireColumnMetaData DP UniqueI
  • 使用 R 交互式更改 Plotly 图像中的轴刻度(线性/对数)

    Goal 创建交互式下拉菜单 按钮来更新 R 中 Plotly 图形的轴比例 Issue 有很多关于创建的文档buttons https plot ly r custom buttons and 对数图 https plot ly r lo
  • 基于条件反应逻辑闪亮的 Flexdashboard

    我正在尝试有条件地进行一种类型的渲染 renderPlot 或其他 renderText 基于一些输入 这是我尝试过的 title Citation Extraction output flexdashboard flex dashboar
  • 使用函数参数作为 R 中新数据框的名称

    这很简单 但我已经搜索并未能找到这个小问题的解决方案 我想使用函数的参数作为新数据框的名称 例如 assign dataset lt function dataname x lt c 1 2 3 y lt c 3 4 5 dataname

随机推荐

  • 带有微调器的可编辑文本视图 android

    我想在 android 中创建一个控件 用户可以通过键盘输入或通过下拉列表 微调器 输入 实际上 我在微调器的数组中硬编码的值并不详尽 因此用户也应该可以选择通过虚拟键盘输入 那么用户可以通过键盘输入或从列表中选择吗 我怎样才能在andro
  • 按命名空间转换对象

    我需要像这样转换 平面对象 输入数据 prop1 value 1 prop2 subprop1 value 2 1 prop2 subprop2 value 2 2 像这样的沉浸对象 输出数据 prop1 value 1 prop2 sub
  • Linux 上一个进程如何拦截另一个进程的 stdout 和 stderr?

    我有一些应该停止运行的脚本 但它们却永远存在 有什么方法可以让我以可读的方式弄清楚他们正在向 STDOUT 和 STDERR 写入什么内容 例如 我尝试这样做 tail f proc pid fd 1 但这并没有真正起作用 无论如何 这是一
  • 通过应用程序通过 HttpPost 登录网站

    你好 Stackoverflowers 我编写了一个相对简单的应用程序 由登录文本字段 密码文本字段和登录按钮组成 我的目标是 当用户输入登录信息并触摸登录按钮时 应用程序将使用户登录到我指定的网站 并以不同的意图或 WebView 打开它
  • 删除 SublimeText 中但匹配的所有文本

    我正在尝试删除 sublime 中除电子邮件之外的所有字符串 所以我可以寻找这样的电子邮件 a zA Z0 9 a zA Z0 9 a zA Z0 9 但我该如何删除其他所有内容呢 Thanks 您可以执行以下操作 Use your reg
  • 如何制作一个flex(词法扫描器)来读取UTF-8字符输入?

    看起来flex不支持UTF 8输入 每当扫描器遇到非 ASCII 字符时 它就会停止扫描 就像它是 EOF 一样 有没有办法强制 Flex 吃掉我的 UTF 8 字符 我不希望它实际匹配 UTF 8 字符 只需在使用 时吃掉它们即可图案 有
  • 浮动:右反转跨度的顺序

    我有 HTML div span class label a href index 1 Bookmix Offline a span span class button a href settings Settings a span spa
  • 仅使用 print 语句进行调试

    最近我用 Python 编写了很多代码 我一直在处理以前从未使用过的数据 使用以前从未见过的公式并处理巨大的文件 所有这些让我写了很多打印语句来验证一切是否正常并找出故障点 但是 一般来说 输出这么多信息并不是一个好的做法 如何仅在我想要调
  • 有人可以解释一下 Shell Shock Bash 代码吗? [复制]

    这个问题在这里已经有答案了 我在理解以下代码时遇到问题 该代码是 Shell Shock 的 漏洞证明 代码 有人可以向我解释一下吗 特别是这部分 env x echo vulnerable bash c echo this is a te
  • 如何让视图永远旋转?

    有没有办法让视图以指定的速度永远旋转 我需要它来作为指标之类的东西 我知道有一个奇怪的 Lxxxxx00ff 常量 记不太清了 代表 永远 您可以使用HUGE VAL对于浮动值 如果我没记错的话 动画的repeatCount属性是一个浮动值
  • 如何判断 ASP 中的页面卸载是否为回发

    这似乎是一个常见问题 但搜索没有返回任何内容 我在页面卸载之前执行以下代码 问题是 如果卸载是回发 我不想向用户发出警告 但我无法弄清楚如何区分回发和用户导航到例如另一页 This is executed before the page a
  • 即使成功创建对象后,django modelformset_factory 仍保留先前提交的数据

    我在我的观点之一中使用 django modelformset factory 我正在使用 javascript 将新表单添加到模板中的表单集 一切工作正常 但我的问题是 当我尝试使用 modelformset factory 创建一个新对
  • iPhone - 捕获设备按钮按下

    我知道您无法从应用程序内控制设备音量 但我希望设备音量能够影响应用程序中的 UIScrollBar 来控制音量 我知道这是可能的 因为 Last fm 应用程序可以做到这一点 我想实现此行为 我在互联网上能找到的信息很少 这里有人可以帮助我
  • iOS 版 Appium 的代码覆盖率

    这个问题似乎已经以多种不同的方式被问到了 所以如果我在这里遗漏了一些明显的东西 请提前道歉 但这对我来说仍然不清楚 我正在使用 Appium 作为功能测试套件的一部分来运行 UIAutomation 测试 如何从该套件生成代码覆盖率指标 理
  • Java 和 HID 通信

    我正在寻找为简单的无线 HID 接口设备编写一个 Linux Windows Mac Java HID 控制器 我对 USB4Java LibUsb 库进行了修改 但没有成功 我已经转向 JavaHIDAPI 的方向 不幸的是 对我来说 除
  • 如何在 SQL (Excel) 中传递参数进行查询

    我将 Excel 链接 到 Sql 它工作得很好 我编写了一些 SQL 脚本 它工作得很好 我想做的就是将参数传递给查询 就像每次刷新一样 我希望能够将参数 过滤条件 传递给 Sql 查询 在 连接属性 中 参数按钮被禁用 所以我无法进行参
  • Spring cron 与普通 cron 比较?

    我试图让 cron 作业在遗留的 Java Spring Hibernate 项目中工作 所以我决定使用 spring 调度程序 我希望 myTask doStuff 在每月第一个星期日的 12 00 运行 在我的 application
  • 二分查找,终止条件为“left < right”,步长更新为“left = mid +1,right = mid”

    我正在读leetcode中的二分查找模板二 它用于搜索需要的元素或条件访问当前索引及其直接右邻居的索引在数组中 def binarySearch nums target type nums List int type target int
  • Java并发修改异常

    我编写了以下代码 导致并发修改异常 我该如何预防呢 这个想法是转义 Map 的所有值并使用新的参数映射重建对象 dO try Map
  • 删除列标签的背景颜色,同时保留绘图背景颜色 ggpairs

    我定义了一个函数来设置 ggpairs 中的背景 以匹配两个变量之间的相关程度 但是 我还想从沿图外部运行的变量标签中删除灰色背景 但如果不删除相关颜色 我就无法做到这一点 library GGally Loads some data mt