在 R 图形的图例中包含小表格

2023-12-12

我正在绘制按国家/地区分组的公司销售额的点图。所以我的代码是dotchart(sales, labels=company, groups=country, data=mydata)。我还创建了一个按国家/地区划分的平均销售额表。有什么方法可以将此表作为图例包含在点图中吗?

四小时后......我偶然发现了一种非常巧妙的方法,可以使用addtable2plot命令在plotrix包裹。跟进 Chl 的示例:

res <- matrix(nc=3, nr=4)
for (i in 1:4) res[i,] <- tapply(iris[,i], iris[,5], mean)
colnames(res) <- levels(iris[,5])
rownames(res) <- colnames(iris)[1:4]

library(plotrix)
dotchart(res, auto.key=list(position="top", column=3), xlab="Mean"); addtable2plot(3,15, res, cex=.8)

这是我的看法grid(和 Iris 数据集):

library(lattice)
library(grid)
library(gridExtra)
res <- matrix(nc=3, nr=4)
for (i in 1:4) res[i,] <- tapply(iris[,i], iris[,5], mean)
colnames(res) <- levels(iris[,5])
rownames(res) <- colnames(iris)[1:4]
dp <- dotplot(res, auto.key=list(position="top", column=3), xlab="Mean")

pdf("1.pdf", width=10, height=5)
grid.newpage() 
pushViewport(viewport(layout=grid.layout(1, 2, widths=unit(c(5,4), "inches"))))

pushViewport(viewport(layout.pos.col=1, layout.pos.row=1)) 
print(dp, newpage=FALSE) 
popViewport(1)

pushViewport(viewport(layout.pos.col=2, layout.pos.row=1, clip="on"))
grid.draw(tableGrob(head(iris), gp=gpar(fontsize=6, lwd=.5)))
popViewport()
dev.off()

enter image description here

另一种解决方案是ggplot2仅在 Hadley Wickham 的 github 页面上可用,将 ggplot2 图形与其他图形输出混合。最后,在线帮助页面gridExtra::grid.arrange()包括附加示例。

为了在图中显示表格,我们可以修改代码如下:

grid.newpage() 
pushViewport(viewport(layout=grid.layout(1, 1, widths=unit(c(5,4), "inches"))))

pushViewport(viewport(layout.pos.col=1, layout.pos.row=1)) 
print(dp, newpage=FALSE) 
popViewport(1)

pushViewport(viewport(x=0.5, y=0.3, clip="off"))
grid.draw(tableGrob(head(iris), padding.v=unit(1, "mm"), padding.h=unit(1, "mm"), 
          gp=gpar(fontsize=6, lwd=.5)))
popViewport()

这产生

enter image description here

(可以使用以下命令更改单元格的背景颜色theme=打电话时tableGrob().)

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

在 R 图形的图例中包含小表格 的相关文章

  • 我无法下载 R 中的 reshape2 包 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我在尝试安装 R 包时收到此响应 gt installed packages reshape2 Package LibPath V
  • 通过间接引用列来修改数据框中的某些值

    我正在整理一些数据 我们将失败的数据分类到垃圾箱中 并按批次计算每个分类箱的有限产量 我有一个描述排序箱的元表 这些行按升序测试顺序排列 一些排序标签带有非语法名称 sort tbl lt tibble tribble weight lab
  • 时间戳半小时窗口内字段的平均值

    我的数据框有列名Timestamp es看起来像 Timestamp es 2015 04 01 09 07 42 31 2015 04 01 09 08 01 29 5 2015 04 01 09 15 03 18 5 2015 04 0
  • 将数据框中的每个 x 个字符拆分为字符串

    我知道这里有一些关于每隔一段时间分割一个字符串的答案nth字符 例如this one https stackoverflow com questions 23208490 split each character in r and this
  • 如何使用 usmap 标记数字而不是名称?

    我知道 usmap 有一个选项label in plot usmap 我想标记一些数字 而不是状态名称 我想 usmap 中应该有与州质心坐标相关的数据 但我不知道如何找到它 如果我能得到 坐标然后我可以用它来标记数字geom text 这
  • 将绘图调用拆分为多个块

    我正在编写一个图的解释 其中我基本上将在第一个块中创建图 然后描述该输出 并在第二个块中添加一个轴 然而 似乎每个块都会强制一个新的绘图环境 因此当我们尝试使用以下命令运行块时会出现错误axis独自的 观察 output html docu
  • 绘制点之间的所有线

    我有以下 R 代码 x lt c 0 01848598 0 08052353 0 06741172 0 11652034 y lt c 0 4177541 0 4042247 0 3964025 0 4074685 d lt data fr
  • pyomo + 网状错误 6 句柄无效

    我正在尝试运行pyomo优化 我收到错误消息 Error 6 The handle is invalid 不知道如何解释它 环顾四周似乎与特权有关 但我不太明白 在下面找到完整的错误跟踪以及重现它的玩具示例 完整的错误跟踪 py run f
  • API 请求和curl::curl_fetch_memory(url, handle = handle) 中的错误:SSL 证书问题:证书已过期

    几天前 我运行了代码几个月 没有任何问题 GET url myurl query 今天我遇到一个错误 Error in curl curl fetch memory url handle handle SSL certificate pro
  • 在 R 中创建虚拟变量,排除某些情况为 NA

    我的数据看起来像这样 V1 V2 A 0 B 1 C 2 D 3 E 4 F 5 G 9 我想创建一个虚拟变量R where 0 1 1 2 3 4 and NA 0 5 9 应该很简单 有人可以帮忙吗 我们可以转换V2 into a fa
  • 朴素贝叶斯分类器仅基于先验概率做出决策

    我试图根据推文的情绪将推文分为三类 买入 持有 卖出 我正在使用 R 和包 e1071 我有两个数据框 一个训练集和一组需要预测情绪的新推文 训练集数据框 text sentiment this stock is a good buy Bu
  • 将数据框中重叠的范围合并到唯一的组中

    我有一个 n 行 3 的数据框 df lt data frame start c 178 400 983 1932 33653 end c 5025 5025 5535 6918 38197 group c 1 1 2 2 3 df sta
  • 如何仅删除单括号并保留配对的括号

    你好 我亲爱的老师 R 用户朋友们 我最近开始认真学习正则表达式 最近我遇到了一种情况 我们只想保留配对括号 并省略未配对的 这是我的样本数据 structure list t1 c Book Pg 1 Website Online Jou
  • 有效地绘制大时间序列(matplotlib)

    我正在尝试使用 matplotlib 在同一轴上绘制三个时间序列 每个时间序列有 10 6 个数据点 虽然生成图形没有问题 但 PDF 输出很大 在查看器中打开速度非常慢 除了以栅格化格式工作或仅绘制时间序列的子集之外 还有其他方法可以获得
  • 在 Rcpp 中使用其他包中的 C 函数

    我试图从 C 函数中的 cubature 包调用 C 例程来执行多维积分 我试图重现的基本 R 示例是 library cubature integrand lt function x sin x adaptIntegrate integr
  • 纵向比较 R 中的值...并进行扭转

    我有许多人在多达四个时间段进行的测试结果 这是一个示例 dat lt structure list Participant ID c A A A A B B B B C C C C phase structure c 1L 2L 3L 4L
  • 如何从 R 读取 PDF 元数据

    我们很好奇 有没有一种方法可以从 R 读取 PDF 元数据 例如下面显示的信息 通过搜索我对此无能为力 r pdf metadata在当前的问题库中 非常欢迎任何指点 我想不出纯 R 的方法来执行此操作 但您可能可以安装您最喜欢的 PDF
  • applyStrategy 错误

    我是R新手 最近运行后遇到以下错误applyStrategy函数来自quantstrat包裹 Error in eval expr envir enclos object signal not found Error in colnames
  • 使用 template.docx 从 Shiny App 编织 Word 文档

    我正在尝试使用 template docx 文件从闪亮的应用程序编写一个 Word 文档 我收到以下错误消息 pandoc exe template docx openBinaryFile 不存在 没有这样的文件或目录 以下 3 个文件当前
  • 如何使用 tidymodels 和工作流集在同一数据集上拟合多个不同的线性模型

    我想评估同一数据集上多个 主要是 线性回归模型的性能 我想也许使用tidymodels包连同workflowsets workflow set 可能会起作用 我按照这个例子here https workflowsets tidymodels

随机推荐

  • 在 Android 上安装 Pocketsphinx

    我对在 Android 手机上安装 Pocketsphinx 有一些疑问 并且我无法在 CMUSphinx 的支持论坛 IRC 现有的 StackOverflow 帖子或大量的 Google 搜索上找到答案 如果这里有人愿意花一分钟时间并愿
  • 使用 Web API 时没有结果

    我正在尝试使用 PHP 从美国邮政服务 USPS 费率计算器中提取 XML 页面 这是我正在使用的代码 当然替换了我的 API 登录名和密码
  • 垂直自动滚动文本视图

    我只是想设置一个简单的 TextView 包裹在 ScrollView 中 它将自动向下滚动显示 TextView 的内容 就像电影显示片尾字幕一样 我不希望用户必须与滚动条交互 屏幕上没有我正在使用的按钮或其他布局 因此制作人员名单填满了
  • 尝试将文件上传到 CKAN 时出错:“无法获取存储上传凭据。上传无法继续”

    当尝试将文件上传到 CKAN 中的数据集时 我在 Web 界面中收到此错误 Failed to get credentials for storage upload Upload cannot proceed 此错误通常是由于 CKAN 的
  • LESS CSS 使用不同的前缀转义整个 CSS 规则?

    我如何避免以下情况 prefix rule prop webkit rule prop moz rule prop o rule prop ms rule prop rule prop 我尝试了很多不同的方法 将其包装在 stuff 将变量
  • 我的 GPU 上的总线程数、块数和网格数。

    For the NVIDIA GEFORCE 940mx GPU Device Query shows it has 3 Multiprocessor and 128 cores for each MP 每个多处理器的线程数 2048 所以
  • 4 点之间的场景套件形状

    鉴于我在上一个问题中采取的路线 ARKit 在 Swift 3 中的平面上的 2 个向量点之间放置一个 SCNPlane 似乎有缺陷 我正在寻找其他选择 我可以在两个节点之间画一条线 然后我可以在这些节点之上创建节点 有效地在一个正方形中
  • 在 C# 中,如何将刷新/重绘消息发送到 WPF 网格或画布?

    如何向 WPF 网格或画布发送刷新消息 换句话说 我注意到在调试模式下 我可以编写代码将一行发送到显示器 然后 如果该行不正确 我可以调整它 但前一行仍然存在 现在 我正在编写的代码根据用户单击的内容将信息发送到显示器 因此 这必定意味着每
  • Instagram API 错误:已达到客户端请求限制

    每当我尝试通过 API 在 Instagram 上关注某人时 无论之前已关注了多少次 我都会收到此错误 meta error type APIError code 400 error message Client request limit
  • 如何从 REST 端点捕获 JsonParseException

    我有一个像这样的端点 POST public Response update MyDocument myDocument 如果请求无效 我的服务器将收到一些很长的日志 如下所示 javax servlet ServletException
  • 继承 - 符号未定义 Objective-C++

    快速问题 这只是我对继承的误解 所以这应该很快就能解决 我正在使用 Objective C 如果问题已经解决了 我会取消这个问题 我找不到它 因此我的帖子 我有以下内容 基础 h文件 ifndef BASE H define BASE H
  • Facebook 注册日期

    如何查找 Facebook 上的注册个人资料的日期 是否可以 我可以通过 API 来做吗 我用谷歌搜索 但找不到解决方案 没有公共途径可以获取此信息 对不起
  • 适配器更新后 ListView 内容被截断

    我的用户界面中有许多垂直堆叠的面板 每个面板都包含一个 ListView 根据用户交互 ListView 中的项目数会更新 我的问题是 如果我增加 ListView 中显示的项目数量 包含面板将不会扩展以显示它们 相反 我的 ListVie
  • Sinon FakeServer 没有请求吗?

    我正在关注SinonJS假服务器教程我正在运行这个简单的代码 var server before function server sinon fakeServer create after function server restore i
  • C# 异常仅在调试时捕获? [复制]

    这个问题在这里已经有答案了 可能的重复 发布模式下的异常处理问题 我怀疑对此有一个非常简单的解释 但我似乎找不到它 当我的 WinForms C 4 0 应用程序将自身加载到 Program cs 文件中时 整个 Main 函数内部都有一个
  • 检测 python 图中的峰值

    我的数据文件在以下链接中共享 我们可以使用以下脚本绘制这些数据 import matplotlib as mpl import numpy as np import matplotlib pyplot as plt import matpl
  • 将数据读入二维数组?

    我正在尝试将数据文件读入二维数组 例如 file dat 1 2 3 a 4 5 6 b 7 8 9 c 我尝试过类似的东西 file open file dat r var var append j for j in i split fo
  • 有某种方法可以处理 ASMX 服务后面的异步/等待吗?

    我有一个 Web 应用程序 提供 JSON 的 WCF REST API 和 ASMX Web 服务 该应用程序已经存在几年了 它基于 ASP NET 2 0 但几年前升级到 NET 4 0 我刚刚升级到 NET 4 5 以便能够使用新的异
  • FFT 需要多少 FLOPS?

    我想知道有多少FLOPS执行快速傅立叶变换 FFT 所以 如果我有一个1的维数数组N浮点数 我想计算这组数字的FFT 有多少FLOPS需要执行吗 我知道这取决于所使用的算法 但是最快的可用算法又如何呢 我还知道 FFT 的缩放比例为N lo
  • 在 R 图形的图例中包含小表格

    我正在绘制按国家 地区分组的公司销售额的点图 所以我的代码是dotchart sales labels company groups country data mydata 我还创建了一个按国家 地区划分的平均销售额表 有什么方法可以将此表