表中单元格的条件着色

2024-01-04

我正在尝试创建一个数据表,其单元格根据单元格中的值具有不同的颜色。我可以用这个功能来实现addtable2plot来自plotrix包裹。这addtable2plot函数在已有的绘图上放置一个表格。该解决方案的问题是我不需要绘图,只需要表格。

我也看过heatmap功能。问题在于我的表中的某些值是字符,并且heatmap据我所知,函数只接受数字矩阵。另外,我希望我的列名称位于表格的顶部,而不是底部,但这似乎不是一个选项。

这是示例代码addtable2plot。如果我能得到一张桌子,填满整个屏幕,那就太好了。

library(plotrix)

testdf<-data.frame(Before=c(10,7,5,9),During=c(8,6,2,5),After=c(5,3,4,3))
rownames(testdf)<-c("Red","Green","Blue","Lightblue")
barp(testdf,main="Test addtable2plot",ylab="Value",
     names.arg=colnames(testdf),col=2:5)
# show most of the options including the christmas tree colors
abg<-matrix(c(2,3,5,6,7,8),nrow=4,ncol=3)
addtable2plot(2,8,testdf,bty="o",display.rownames=TRUE,hlines=TRUE,
              vlines=TRUE,title="The table",bg=abg)

任何帮助将不胜感激。


A heatmap选择:

library(gplots)

# need data as matrix
mm <- as.matrix(testdf, ncol = 3)

heatmap.2(x = mm, Rowv = FALSE, Colv = FALSE, dendrogram = "none",
          cellnote = mm, notecol = "black", notecex = 2,
          trace = "none", key = FALSE, margins = c(7, 11))

In heatmap.2情节的一侧axis要绘制的内容是硬编码的。但如果你输入“heatmap.2” 在控制台并将输出复制到编辑器,您可以搜索axis(1,其中 1 是side论证(两次命中)。然后,您可以从 1(图下方的轴)更改为 3(图上方的轴)。将更新后的函数指定为新名称,例如heatmap.3,并按上述方式运行它。


An addtable2plot选择

library(plotrix)

# while plotrix is loaded anyway:
# set colors with color.scale
# need data as matrix*
mm <- as.matrix(testdf, ncol = 3)
cols <- color.scale(mm, extremes = c("red", "yellow"))

par(mar = c(0.5, 1, 2, 0.5))
# create empty plot
plot(1:10, axes = FALSE, xlab = "", ylab = "", type = "n")

# add table
addtable2plot(x = 1, y = 1, table = testdf,
              bty = "o", display.rownames = TRUE,
              hlines = TRUE, vlines = TRUE,
              bg = cols,
              xjust = 2, yjust = 1, cex = 3)

# *According to `?color.scale`, `x` can be a data frame.
# However, when I tried with `testdf`, I got "Error in `[.data.frame`(x, segindex) : undefined columns selected".

A color2D.matplot选择

library(plotrix)
par(mar = c(0.5, 8, 3.5, 0.5))
color2D.matplot(testdf, 
                show.values = TRUE,
                axes = FALSE,
                xlab = "",
                ylab = "",
                vcex = 2,
                vcol = "black",
                extremes = c("red", "yellow"))
axis(3, at = seq_len(ncol(testdf)) - 0.5,
     labels = names(testdf), tick = FALSE, cex.axis = 2)
axis(2, at = seq_len(nrow(testdf)) -0.5,
     labels = rev(rownames(testdf)), tick = FALSE, las = 1, cex.axis = 2)

经过这个小练习后,我倾向于同意@Drew Steen 的观点,即也可以研究 LaTeX 替代品。例如,检查here https://tex.stackexchange.com/questions/42444/parametrize-shading-in-table-through-tikz and here https://tex.stackexchange.com/questions/44868/drawing-heatmaps-using-tikz?lq=1.

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

表中单元格的条件着色 的相关文章

  • R - 正则表达式错误(PCRE 版本)

    我正在尝试使用koRpus在 R 中在运行 RHEL6 的 Linux 服务器上进行词形还原 上周 当我安装了 MRO Microsoft R Open 3 2 3 时 下面的代码效果很好 library koRpus lw c danci
  • 如果“testthat”测试在“R”中失败,则打印自定义诊断信息

    I use a testthat单元测试来检查是否data frame函数返回的结果与我期望它返回的结果相同 如果测试失败 testthat打印一些诊断信息 例如 MyFunction df orig is not identical to
  • 使用 ggplot2 修改点子集的形状

    我正在尝试绘制一个沿大量维度变化的大型散点图 这是我的起始情节 p lt ggplot mtcars aes wt mpg shape cyl colour gear size carb geom point 使用mtcars数据集 我只是
  • dplyr 中的 Summarize 是否可以不删除数据框中的其他列?

    我有一个包含三列的数据框 我正在尝试进行简单的总结以查找数据框中每个城市的最高温度 但同时保留每个最高温度列出的日期 这是数据框 我们称之为 maxT new ID Date Max TemperatureF 1 TUS 1960 04 0
  • 使用底格里斯河从纬度/经度获取人口普查区

    我有相对较多的坐标 我想获取其人口普查区 除了 FIPS 代码 我知道我可以使用以下命令查找各个纬度 经度对call geolocator latlon 已完成here https stackoverflow com questions 5
  • 如何使用 R 中带引号的字符值内的序列读取 CSV?

    这是一个包含两个字符列的 CSV 文件 key value a 所有字符值都用双引号引起来 并且有一个顺序 在值之一内 转义引号加分隔符 我无法通过 read csv readr 中的 read csv 或 data table 中的 fr
  • 在函数内部调用 clusterApply 时,性能会下降

    我遇到了一个奇怪的问题clusterApply 我已经能够尽可能地隔离它 如下所示 首先 我从全局环境运行以下代码 require parallel cl lt makeCluster rep localhost 20 SOCK xl lt
  • R:将 readRDS 应用于 .Rds 文件名的列表对象

    我有几个包含数据帧对象的 Rds 文件 我想对每个文件应用一个函数并将数据帧绑定到单个数据帧中 但是 当我尝试从文件名列表中读取多个 Rds 文件时 我收到错误 FUN X i 中的错误 从连接读取时出错 readRDS 不适用于列表吗 R
  • 从 R 中的 HTTPS 连接逐行读取

    当创建连接时open r 它允许逐行读取 这对于批量处理大数据流非常有用 例如这个脚本 https gist github com jeroenooms d33a24958d99bb969ac0通过一次读取 100 行来解析相当大的 gzi
  • 在另一个 Rmd 中运行选定的块

    我已经在源 Rmd 文件中运行了分析 并且希望仅使用few来自源的块 我已经看到了一些关于从源 Rmd 中提取所有块的答案来自另一个 Rmd 中的 Rmd 文件的源代码 https stackoverflow com questions 4
  • 根据另一列中的键累积一列中的值时出现问题

    我有一个看起来像这样的数据框 我需要使用 PROJ ID 列中的字符串创建一个新的值列 并形成 PROJ NAME 列中的值字符串 这里提供的解决方案 根据 r 中另一列的键累积一列中的值 https stackoverflow com q
  • 解析,用三点参数替换

    让我们考虑一个典型的deparse substitute R call f1 lt function u x y print deparse substitute x varU vu varX vx varY vy f1 u varU x
  • 使用healpy通过HEALPix像素化制作2D直方图

    数据是天空中物体的坐标 例如如下 import pylab as plt import numpy as np l np random uniform 180 180 2000 b np random uniform 90 90 2000
  • glmnet 未从 cv.glmnet 收敛 lambda.min

    我跑了20倍cv glmnet套索模型以获得 lambda 的 最佳 值 但是 当我尝试重现结果时glmnet 我收到一个错误 内容如下 Warning messages 1 from glmnet Fortran code error c
  • 使用 R 进行项目组织 [重复]

    这个问题在这里已经有答案了 可能的重复 统计分析和报告撰写的工作流程 https stackoverflow com questions 1429907 workflow for statistical analysis and repor
  • 为什么这些数字不相等?

    下面的代码显然是错误的 有什么问题 i lt 0 1 i lt i 0 05 i 1 0 15 if i 0 15 cat i equals 0 15 else cat i does not equal 0 15 i does not eq
  • 如何计算嵌套函数中的粘合表达式?

    我正在尝试嵌套一个函数 该函数将两个字符串粘合在一起 该函数使用组合字符串来命名数据帧的列 然而 问题似乎是粘合表达式没有足够早地评估为字符串 我可以 并且应该 强制在将表达式作为参数传递给另一个函数之前对其进行求值吗 library ti
  • 如何在R中同时对三个字段进行网络分析

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

    我有两个大整数 两者都超过 16 位 确切地说是 20 位 而且我知道由于双精度浮点运算 我在使用这些数字进行计算甚至将它们存储在变量中 独立于编程语言 时受到限制 不过 我想也许gmp图书馆应该处理它们 但不幸的是它没有 可以计算更大的整
  • 非闪亮上下文中的反应式对象绑定

    实际问题 你怎样才能近似反应性环境 行为 http shiny rstudio com tutorial lesson6 建立者shiny http shiny rstudio com函数 或者甚至可能在一个函数中使用这些函数无光泽上下文以

随机推荐

  • 通用类的类助手?

    我正在使用 Delphi 2009 是否可以为通用类 即 TQueue 编写一个类帮助器 显而易见的 TQueueHelper
  • 如何从具有或不具有背景大小的文件夹创建精灵(使用指南针)

    我想将指南针生成的图标精灵用于两种不同的场景 使用原始大小的图标 使用 CSS3 属性使用与较小版本相同的图标background size 我首先这样做 logo spacing 20px import logo png include
  • NHibernate;删除子项也会删除父项吗?

    为什么是当我删除子级 员工 时 父级 商店 也被删除 我配置为约定 Cascade All The 用户输入序列很简单 从空数据库开始 添加家长 保存 加载 加载 重新加载完整对象图 添加一个孩子 保存 加载 删除子项 结果 数据库为空 父
  • Spotify 自动播放列表管理与 PHP 后端和速率限制

    两个问题 问题1 我们需要从我们的后端 PHP 管理 Spotify 用户的 4 个播放列表 无需用户登录 我们网站的访问者可以向我们的网站提交多首他们喜欢的歌曲 在此基础上 我们创建并管理 4 个播放列表 其中包含 提交最多的歌曲 我们希
  • 如何显示用户时区的时间

    我使用的是rails 3 0 5 并且已将created at 和updated at 存储在UTC 中 现在我想显示用户时区中的created at时间 我相信可以从浏览器中选择用户的时区 然后将时间转换为用户的时区 我确信 Rails
  • 使用 NPOI 将图像添加到 Word docx 文件

    我开始使用 NPOI 创建 Word 文档 并且尝试将简单的图像添加到文档中 但它没有显示 不过我可以让文字显示得很好 这是我的代码 var wDoc new XWPFDocument var bytes File ReadAllBytes
  • Android TV 中缺少应用栏的替代方案

    我只是注意到我的 Android 应用程序 当我运行它时 Android TV 带有后倾意图 但事实并非如此 显示菜单项的三明治按钮 This is missing and everthing else like the title 建议的
  • LINQ to XML 分组依据

    我想使用 LINQ 通过在 Summary 字段上执行 GROUPBY 并对 Balance 字段求和来将输入 XML 转换为输出 XML 输入 XML
  • Spring 3+ 当 JUnit 无法识别时如何创建 TestSuite

    我正在使用 Spring 3 0 4 和 JUnit 4 5 我的测试类当前使用 Spring 的注释测试支持 语法如下 RunWith SpringJUnit4ClassRunner class ContextConfiguration
  • 获得更干净的斑点以进行计数

    仍在学习图像遮蔽的旅程中 我正在尝试计算图像中红点的数量 Here is the input image After masking red I get this image 问题是 某些斑点未满 因此它不会计算所有斑点 例如在此特定图像中
  • 我可以记住 Python 生成器吗?

    我有一个函数叫做runquery它调用数据库 然后逐行生成行 我写了一个 memoize 装饰器 或者更准确地说 我只是从这个计算器问题 https stackoverflow com questions 3377258 memoizati
  • 分离本地数据库.mdf,复制,附加新文件

    我尝试分离本地数据库 mdf 将其复制到另一个文件夹中 并在启动时附加新文件 并在关闭时复制到旧文件夹 它似乎在启动时有效 但在表单关闭时出现错误 该进程无法访问文件 C ProgramData MyData db1 mdf 因为它正在被另
  • 将现有查询添加到报告中

    我的报告计算了我商店中的墨水库存 我在VB NET中构建了一条SQL语句并得到了正确的结果 如何在 Crystal Report 中显示这些结果 或者设计一个报告以检索相同的结果 我尝试使用 SQL 表达式生成器但失败了 通常您将使用以下方
  • 在 IE 中测试 console.log 语句[重复]

    这个问题在这里已经有答案了 可能的重复 对于 Internet Explorer 控制台 是未定义的错误 https stackoverflow com questions 3326650 console is undefined erro
  • mod_fcgid 进程和 XCache 生命周期

    我使用 mod fcgid 和 Xcache 3 0 3 PHP 5 4 18 我知道由于 mod fcgid 设计 我无法使用公共共享内存 因此每个 php cgi 进程在其生命周期内都使用自己的缓存 当我打开时top并检查php cgi
  • R:向非 ggplot 对象添加轴标题

    我正在使用 R 编程语言 通常 当我制作绘图时 我使用 ggplot2 库 并且 aes 选项可用于标记 x 轴并添加标题 然而这一次 我制作的图不是 ggplot2 对象 因此不能以相同的方式进行标记 library MASS libra
  • Sequelize 如何比较查询中日期的年份

    我正在尝试进行以下查询 SELECT FROM TABLEA AS A WHERE YEAR A dateField 2016 我如何以续集风格执行上面的查询 TABLEA findAll where Thanks TABLEA findA
  • C# 中的类型推断

    我知道 msdn 可能应该是第一个去的地方 并且会在我在这里获得独家新闻之后 msdn 不会真正提供的技术规范的一部分是我现在要问的 该主题在日常开发过程中究竟有何用处 它与 clr 内的匿名类型是否有任何形状或形式的相关性 它允许做什么
  • 跟踪 Firestore 流量/请求

    为了最大限度地减少不必要的操作 最好查看对服务器的实际请求 使用firebase实时数据库很容易做到 因为它打开了websocket并且可以在chrome开发工具中查看 Firestore 似乎有所不同 目前尚不清楚它使用什么类型的与服务器
  • 表中单元格的条件着色

    我正在尝试创建一个数据表 其单元格根据单元格中的值具有不同的颜色 我可以用这个功能来实现addtable2plot来自plotrix包裹 这addtable2plot函数在已有的绘图上放置一个表格 该解决方案的问题是我不需要绘图 只需要表格