更改 R/lattice 中与多个面板关联的条带的背景和文本

2023-12-19

以下是我正在处理的示例。

require(lattice)
data(barley)
xyplot(yield ~ year | site, data = barley)

我想为不同的 sprips 设置不同的条带颜色,并且字体颜色也根据背景颜色进行不同的优化。例如:

strip background colors = c("black", "green4", "blue", "red", "purple", "yellow")
font color = c("white", "yellow", "white", "white", "green", "red")

Rough sketch of the first one is provided: enter image description here How can I achieve this?


这是一个干净且易于定制的解决方案。

myStripStyle(),传递给的函数strip=的论证xyplot()使用计数器变量which.panel选择颜色以及值factor.levels对于当前正在绘制的面板。

如果您想尝试这些设置,只需添加一个browser()定义内的某处myStripStyle()并努力吧!

bgColors <- c("black", "green4", "blue", "red", "purple", "yellow")
txtColors <- c("white", "yellow", "white", "white", "green", "red")

# Create a function to be passed to "strip=" argument of xyplot
myStripStyle <- function(which.panel, factor.levels, ...) {
    panel.rect(0, 0, 1, 1,
               col = bgColors[which.panel],
               border = 1)
    panel.text(x = 0.5, y = 0.5,
               font=2,
               lab = factor.levels[which.panel],
               col = txtColors[which.panel])
}    
xyplot(yield ~ year | site, data = barley, strip=myStripStyle)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改 R/lattice 中与多个面板关联的条带的背景和文本 的相关文章

  • R:中断 for 循环

    你能确认下一个break是否取消了内部for循环吗 for out in 1 n old id velho lt old table df id out for in in 1 n id novo lt new table df ID in
  • 使用 ggplot 添加到投影地图时 R 饼图扭曲

    我想使用 ggplot 将饼图绘制到投影地图上 然而 饼图可能由于投影而变得扭曲 有谁知道如何在不变形的情况下绘制饼图 示例代码如下 谢谢 lib c ggplot2 scatterpie lapply lib library charac
  • dplyr:带引号变量名的 mutate 的标准评估

    我将如何使用mutate 我的假设是我正在寻找标准评价就我而言 因此mutate 但我对此并不完全有信心 当使用接受变量名列表的函数时 如下所示 createSum function data variableNames data gt m
  • R 带有列和行的分面 qqplots

    我需要使用按行和列的构面创建 qqplot 我了解如何用列和行绘制分面图 但我不确定如何设置我的数据 最终 我想按列和行对数据集进行分组 然后按升序对 建模 结果和 观察到 结果进行排序 同时添加带有 行 组的列和带有 列 组的列 我一直在
  • mlogit:需要 TRUE/FALSE 时缺少值

    我有来自离散选择实验 DCE 的数据 该实验研究了来自不同行业的个人的招聘偏好 我已经格式化为长格式 我想使用 mlogit 进行建模 我已导出数据 并且可以使用 asclogit 命令在 Stata 中成功运行模型 但在 R 中运行时遇到
  • 配置 fix() 和 edit() 以从 R/RStudio 在 Notepad++ 中打开

    当我在 RStudio 或 RGUI 中执行此操作时 fix SomeFunction 或使用edit 我可以在记事本中看到该函数的代码 有什么方法可以更改此设置 以便代码预览在 Notepad 中打开 而不是在普通的旧记事本中打开 同样
  • ggsubplot 是否适用于 R 3.2.1+?

    CRAN 提供的 ggsubplot 版本与 R 的最新版本 例如 3 1 1 不兼容 运行 ggsubplot 示例会返回以下错误 Error in layout base data vars drop drop At least one
  • data.table 的包装函数

    我有一个已经使用 data frame 上下文编写的项目 为了缩短计算时间 我尝试利用 data table 的速度 我的方法是构造包装函数 读取帧 将它们转换为表 进行计算 然后转换回帧 这是一个简单的例子 FastAgg lt func
  • 在防风草模型上使用 VIP 包计算重要性度量

    我正在尝试使用 vi firm 在防风草中制作的逻辑回归模型上计算特征重要性 对于正则表达式 我将使用 iris 数据集并尝试预测观察结果是否为 setosa iris1 lt iris gt mutate class case when
  • 正则表达式提取美国邮政编码,但不提取假代码

    使用 XML 包和 XPath 从网站上抓取地址 有时我只能得到一个嵌入了我想要的邮政编码的字符串 提取邮政编码很简单 但有时会显示其他五位数字的字符串 以下是 df 中问题的一些变体 zips lt data frame id seq 1
  • 如何在 R Markdown 中的内联 LateX 方程中输出 R 变量的值(即动态更新)

    我无法找到一种方法将 r 代码实现到 R markdown 中的内联 LateX 方程中 目标是如果变量 值 发生变化 则不必对它们的值进行硬编码 Given values lt c 1 4 2 5 7 9 avg lt sum value
  • XLConnect 无法确定 JAVA_HOME 错误

    感谢您的帮助 我正在尝试运行 XLconnect 但收到此错误消息 gt library XLConnect lib loc C Users 1144143929 Documents R win library 2 15 Error onL
  • 使用神经网络包进行多项分类

    这个问题应该很简单 但文档没有帮助 我正在使用 R 我必须使用neuralnet多项式分类问题的包 所有示例均针对二项式或线性输出 我可以使用二项式输出进行一些一对一的实现 但我相信我应该能够通过使用 3 个单元作为输出层来做到这一点 其中
  • R 中的点图每行有多个值

    我有以下 R 输入文件 car 1 car 2 car 3 car2 1 car2 2 car2 3 然后 我使用以下命令来绘制图表 autos data 点图 autos data V2 autos data V1 但这将每个汽车和 ca
  • 如何将数据从长格式重塑为宽格式

    我在重新排列以下数据框时遇到问题 set seed 45 dat1 lt data frame name rep c firstName secondName each 4 numbers rep 1 4 2 value rnorm 8 d
  • 如何不显示 ggplot 轴上的所有标签?

    I m trying to using ggplot2 to plot this But as you can see on the x axis you can t read anything 那么如何在 x 轴上显示每 10 年的值呢
  • 使用 R 将日期格式的字符串列表/向量转换为 posix 日期类

    我有一个日期格式的字符串列表 我想将其转换为可以使用 R 操作的 posix 日期列表 我该怎么做 这就是我所拥有的 但我最终得到了一个列表 a lt c 2009 01 01 00 00 00 2009 01 01 00 00 00 z
  • 在列标题和配对变量中嵌入数据的数据透视表

    假设我有这样的数据 不幸的是 变量值嵌入在列名称中 library tidyr library dplyr dat lt tribble group var1 var meta1 var2 var meta2 group1 5 2 cat
  • SparkR 和 Sparklyr 之间导入 parquet 文件所需的时间差异

    我正在使用 databricks 导入镶木地板文件SparkR and sparklyr data1 SparkR read df dbfs data202007 source parquet header TRUE inferSchema
  • ggplot:类似于scale_color_steps()的有序因子的色标

    With scale color steps 我们可以通过设置low和high争论 一个例子 df lt data frame x rnorm 99 y rnorm 99 col rnorm 99 ggplot df aes x y col

随机推荐

  • Node.js socket.io sql server 推送通知

    var app require http createServer handler io require socket io listen app fs require fs mysql require mysql ali connecti
  • docker stack:从秘密中设置环境变量

    我试图从秘密中设置密码 但它没有找到它 Docker 服务器版本是 17 06 2 ce 我使用以下命令来设置秘密 echo abcd docker secret create password 我的 docker compose yml
  • 将 grunt 把手与 ember 一起使用,将模板拆分为单独的文件

    我正在尝试将 ember js 车把模板拆分为多个文件 以使代码库更易于管理 由于我们使用 yeoman grunt 我遇到过这个车把插件 https npmjs org package grunt contrib handlebars 我
  • 如何将任何 Azure Active Directory (AD) 用户登录到连接到 Office 365 Sharepoint Online API 的共享本机应用程序

    是否可以设置一个可供不同 Azure 帐户 目录上的用户使用的单个 本机应用程序 以便他们可以从 Office 365 Sharepoint Online 获取数据 我们可以使用 Web 应用程序 来实现此功能 因为在设置此功能的 Azur
  • 如何使用本地 Azure Cli 安装运行 Azure Cli 脚本

    首先 我觉得问这个问题很疯狂 很抱歉 如果这是一个非常愚蠢的问题 这一定是显而易见的 因为我已经到处搜索但找不到答案 我应该如何运行此 Azure 脚本来创建 Azure Function App https learn microsoft
  • 使用锚标记请求文件时强制浏览器不使用缓存

    我有一个锚标记 用于请求下载文件 像这样 a href app results fileName t12 txt other param something title Click to download Download a 该文件可能会
  • 通过迁移改变 Laravel 5 表

    我正在用 laravel 5 制作一个应用程序 我更改了我定义的 投票 字段 table gt enum vote 1 0 1 并且应该如下 table gt enum vote 1 2 3 4 5 为此 您应该执行以下步骤 创建新的迁移文
  • 在 Linux 上验证电子邮件地址

    我正在使用类似的命令sendmail bv email protected cdn cgi l email protection在向人们发送实际电子邮件之前验证某些电子邮件地址以确认该地址是否有效 它适用于我测试过的大多数网站 但有时 我使
  • Indy 的全局、线程安全、cookie 管理器

    我的 Delphi 2010 应用程序使用多线程上传内容 上传的数据被发布到需要登录的 PHP Web 应用程序 所以我需要使用共享 全局 cookie 管理器 我正在使用Indy10 修订版 4743 因为 TIdCookieManage
  • 不符合 Swift 中的 UITableViewDataSource 协议,为什么?

    这是我的代码 尽管我编写了两种方法的实现 但编译器仍然显示错误 请告诉我为什么 导入 UIKit class FirstViewController UIViewController UITableViewDelegate UITableV
  • 无法加载资源:net::ERR_EMPTY_RESPONSE http://test.com

    我正在开发一个 chrome 扩展 它将 XMLHttpRequest 发送到 URL 获取 JSON 格式的响应 解析响应并显示记录列表 它工作正常 问题是当用户执行任何操作并返回列表部分时 系统遵循相同的流程发送 XMLHttpRequ
  • 在 TypeScript 中扩展原生 JavaScript Number 对象

    根据 TypeScript 文档 扩展已经存在的接口就像使用新属性重新声明它一样简单 然后为这些属性提供实现 我曾多次使用这种技术向本机 JavaScript 对象添加静态方法扩展 然而 这不适用于成员函数 例如 TypeScript Pl
  • Linux中文件描述符的上限

    在任何 Linux 系统 特别是 ubuntu 10 04 中可以使用的文件描述符的上限是多少 我使用的是 Ubuntu 10 04 64 位 服务器的 CPU 架构是 x86 64 客户端的 CPU 架构是 i686 现在我已经将我的 f
  • Maven 校验和失败

    我正在开发一个使用 Maven 作为构建工具的项目 我使用的是该工具的 2 2 1 版本 最近 一位同事提到 由于校验和错误 他无法构建该项目 我没有收到这些错误 因此我删除了本地存储库 果然 我在下次尝试构建时也遇到了校验和错误 我们使用
  • 无法终止线程

    我在我的项目中使用线程 我想立即杀死并终止一个线程 sample type test class TThread private Private declarations protected procedure Execute overri
  • 如何在屏蔽数组上运行numpy函数percentile()?

    我尝试从具有 NoData 值的数组中检索百分位数 在我的例子中 Nodata 值由 3 40282347e 38 表示 我认为屏蔽数组会从进一步的计算中排除这些值 我成功创建了掩码数组 但对于 np percentile 函数 掩码没有效
  • 在 jQuery/JavaScript 中模拟链接上的点击

    我想使用 JavaScript 模拟点击页面上的任何链接 如果该链接有某个函数绑定到其 onclick 事件 通过我无法控制的任何其他 JS 则必须调用该函数 否则该链接应以正常方式运行并打开一个新页面 我不确定仅检查 onclick 处理
  • 在为内核编码时可以使用 stdio...吗?

    我需要构建一个操作系统 一个非常小且基本的操作系统 实际上功能最少 用 C 编写 可能是一个 CUI 操作系统 它可以进行一些内存管理 并且至少有一个文本编辑器和一个计算器 它只是一个关于如何编写对硬件具有完全和直接控制的代码的实验 我仍然
  • 使用顶点着色器旋转纹理

    我正在尝试旋转顶点着色器内的纹理 我有一个指向纹理的指针 出于我的目的 该指针逆时针旋转 90 度 我不想要在调用之前手动旋转纹理glTexImage2D 我可以用 version 120 only 这是我原来的顶点着色器 version
  • 更改 R/lattice 中与多个面板关联的条带的背景和文本

    以下是我正在处理的示例 require lattice data barley xyplot yield year site data barley 我想为不同的 sprips 设置不同的条带颜色 并且字体颜色也根据背景颜色进行不同的优化