问题标签 [r-grid]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - R - adding page numbers to PDF
I'm having trouble adding page numbers to PDFs. Here's how I'm inserting pages / plots:
onefile seems to name a file by the page number, but I want the page numbers to appear in the same file.
Edit
I've modified @Gavin's code sample to produce a working version of mixing graphic types to get page numbers:
r - 添加网格单元对象
所以设置是这样的:
我可以通过将unit
对象传递给来调整 x 轴标签hjust
:
但是有一些关于添加单元对象(可能,根据 ?unit)我没有掌握:
产生以下错误:
作为进一步的背景,我试图通过 Baptiste 拼凑一个有点神秘的解决方法here
r - 如何使用网格编辑 ggplot2 对象以将数学表达式添加到构面标签?
我需要使用 ggplot2 中的 facet_wrap() 将希腊字母放入构面标签中。我找到了一个对 facet_grid() 进行相同描述的链接。我使用以下代码将其应用于我的数据:
这很好用,完全符合我的要求。但是,我需要使用 facet_wrap() 代替(为两个参数获取单独的 y 轴,并在不同的列和行中绘制更多参数)。我尝试了以下方法:
但这不起作用,因为 facet_wrap 中没有“labeller”功能。这怎么能用网格来完成?
r - Convert units from npc to native using grid in R
The core of my problem:
I'm attempting to convert npc units to native units using the grid package's convertUnit, convertX and convertY functions. (npc=normalized parent coordinates, possibly known as ndc units, normalized device coordinates to some in base graphics R. I'm trying to get to native units, those in which the plot is graphed, so in terms of the xlim and ylim units.) However when I attempt to do this as such:
when I'm expecting a number close to 9 as the native x coordinate. It appears convertX is returning units in device coordinates/pixels instead.
Reasoning: I'm trying to use a base locator type device to return npc coordinates, and from those npc coordinates convert to the native coordinates in which the graph was plotted. While I can use base graphics' locator or grid.locator, I'm trying to extend the functionality of this new, non blocking locator to grid/lattice graphics by converting from npc back to native. convertUnit and convertY don't work either.
Question Is it possible for grid to convert from npc back to the active plotting window's native coordinates? Why is convertX returning pixels rather than native coordinates?
Thanks much in advance.
Edited for tags and sloppy mistake leaving out xyplot before. My apologies, but it holds with xyplot.
r - 如何获得 ggplots 的“不平衡”网格?
有了grid.arrange
我可以ggplot
在一个网格中排列多个图形,通过使用类似的东西来实现一个多面板图形:
生成一些 ggplot2 图,然后
如何获得一个“不平衡”的 2 col 布局,在整个第一个 col 中有一个图,在第二个 col 中有三个图?我通过尝试使用grid.arrange
将一个网格(例如plot5
,上面)与另一个图绘制出来来玩弄“网格网格”方法,但获得了:
安排Grob(...,as.table = as.table,clip = clip,main = main,:输入必须是grobs!
更新:
感谢您的建议。我会调查viewports
和grid
。同时,感谢@DWin,layOut
'wq' 包中的函数非常适合我Sweave
文档中的编译图:
更新 2:
该arrangeGrob
命令(如@baptiste 所建议)也运行良好,并且看起来非常直观 - 至少很容易改变两列的宽度。它还有一个好处是不需要 `wq' 包。
例如,这是我的 Sweave 文件中的代码:
产生以下输出:
顺便说一句,有人告诉我为什么会出现“> NA”吗?
r - R YaleToolkit:如何更改迷你图上刻度标签的字体大小?
我正在使用此功能来快速轻松地sparklines
使用 R,但我似乎无法弄清楚如何更改字体大小以避免 y 轴刻度标签的难看重叠。这是我的代码(请参阅下面的可重现示例):
sparklines(gamma.df, sub=c(1:23),outer.margin = unit(c(2, 2, 2, 2), "cm"))
以及由此产生的情节:
我似乎能够完全抑制 y 轴
sparklines(gamma.df, sub=c(1:23),yaxis=FALSE,outer.margin = unit(c(2, 2, 2, 2), "cm"))
但我真正想要的只是缩小刻度线处的数字(并在线条下添加灰色填充,但看起来我必须在屏幕上绘制多边形,这可能已经够麻烦了,值得一个单独的问题......和不同的包装)。
文档表明gpar可能是相关的:“在需要图形参数列表的所有情况下,有效参数名称与在适当调用中传递给 gpar 时的有效参数名称相同。” 但是我需要一些帮助来理解这一点,因为我的尝试似乎都没有成功(cex.axis 和 axis() 也是如此)。grid
那里有 R图形方面的专家吗?也欢迎链接到一个有据可查的完全不同的方法(ggplot2?),它可以提供更高质量的迷你图样式输出。
这是一些复制我的问题的示例数据和代码:
这是生成的示例数据图,在 y 轴刻度线处带有难看的重叠数字:
更新:使用来自@geek-on-acid 的非常有用plot
的代码和来自 Tufte 论坛的一些代码(见下文),我想出了一个不使用YaleToolkit
包并且看起来不错的替代迷你图方法......这是一个可重现的示例(实际上只有两行,但在此处为我的教育进行了注释):
这是生成的图像,这基本上是我的问题的解决方案。y 轴刻度线试图通过仅显示数据的最大值和最小值并且没有垂直线来保持优雅。再次感谢@geek-on-acid 关于如何在它们的底部获得单个 x 轴的提示。
最后,为了完整起见,我在Tufte 论坛上找到了 Jason Dieterle 的一些更接近Tufte 风格的迷你图代码。它们看起来比我的好得多,但代码一次只绘制一个图。这是原始帖子:
这是他的输出的样子(放大一点):
除了 YaleToolkit 包之外,还有sparkTable 包,我在stats.stackexchange了解到但没有尝试过。R-forge 有一个用于制作迷你图的包的条目,但这个包似乎没有激活或有用。
r - 如何以矢量化方式使用 gridSVG 为点设置动画?
我开始学习如何使用这个gridSVG
包来创建动画 SVG 图。作为测试,我想为一组点设置动画,从开始位置移动到结束位置。该示例大致基于包的第一个小插图中的示例。
首先,一些数据:
基本思想似乎是“绘制一个新页面,添加第一帧的内容,制作动画,然后保存到 SVG”。我的第一次尝试将所有点都画在同一个地方。我不确定如何判断grid.animate
每个点都需要单独移动。
我可以通过在自己的 grob 中绘制每个点来解决这个问题,使用lapply
. 这行得通,但感觉很笨拙——应该有一种矢量化的方式来做这件事。
我也尝试过使用animUnit
,但我不知道如何指定id
参数。
我可以在单个 grob 中为多个点设置动画,或者在没有循环的情况下为点设置动画吗?
r - 旋转 grid.xaxis 中的标签
似乎不可能使用 - 选项将 xaxis 的标签旋转grid.xaxis(at=, lab=)
90 度gpar
。
除了创建单独的视口和使用之外,有人知道解决方法grid.text()
吗?
r - 如何使用 grImport 导入的图形作为 ggplot2 中的轴刻度标签(使用网格函数)?
我希望我可以将出色的导入和绘图功能grImport
与令人敬畏的绘图功能结合起来ggplot2
,但我对grid
系统的理解还不够好,无法找到一种优雅的方式来实现我想要的。我想要的是用ggplot2
使用导入的图像替换图表中的 x 轴刻度标签grImport
。
由于这两个包都使用grid
功能,我希望有一种方法grid.symbols()
可以在ggplot2
框架内使用,这将是理想的,或者至少在设备中的现有绘图上使用。对这些事情有更多了解的人是否知道这样做的可靠方法?或者,谁能指出更多信息来帮助我了解 grobs、视口等?我已经阅读了 Paul Murrel 的 R 图形书中关于网格图形模型的免费章节,但我对 ggplot2 的内部工作原理还不够熟悉,无法建立链接。
我的问题与关于使用图像作为绘图点的现有问题非常相似,尽管我对轴标签而不是绘图点更感兴趣。但是,我很好奇这两个任务有多相似,以及该解决方案是否可以用于此目的。我无法自己弄清楚。
这是我的第一篇文章,所以我不允许发布图片,但这段代码实现了接近我想要的东西。注意:这种方法使用了一种丑陋、丑陋的 hack,它不可移植且不能令人满意。我要生成的最终图将具有构面facet_grid
(不需要大量的试验和错误。
r - 你如何将 ggplot2 grobs 与数据联系起来?
例如,给定一个包含点的 ggplot,您将如何找出给定点对应的数据行?
示例图:
grid.ls
我们可以通过+获得包含点的 grobs grid.get
。
最后一个变量包含 xy 坐标和点大小等的详细信息(尝试unclass(point_grobs[[1]])
),但我如何获得mtcars
每个点对应的数据行并不明显。
为了回答 kohske 关于我为什么要这样做的问题,我正在使用gridSVG
创建一个交互式散点图。当您将鼠标滚动到一个点上时,我想显示上下文信息。在 mtcars 示例中,我可以显示带有汽车名称或数据框该行中的其他值的工具提示。
到目前为止,我的 hacky 想法是包含一个id
列作为不可见的文本标签:
然后从点 grob 到文本 grob 遍历 grobs 树,并显示由标签索引的数据集的行。
这是繁琐的,不是很普遍。如果有办法将id
值存储在点 grob 中,它会更干净。