问题标签 [gtable]

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.

0 投票
2 回答
4012 浏览

r - grid.layout 不喜欢尊重和复合单位

事实证明,在 gtable 中使用unit.pmax默认的宽度/高度比较比我希望的要难;经过几个小时的挠头后,我将其范围缩小到这种情况:

所以 和 的结合unit.pmax(unit(1,"null"), unit(1,"null"))使respect = TRUE网格抱怨。如果您想知道,这种情况会出现在 ggplot2 中facet_gridtheme(aspect.ratio = ...).

unit.pmax()在尝试使用参数之前,我可以模糊地想象应该简化空单位respect,但我真的不知道这一切意味着什么。但在实践中,它阻止了我改进 gtable 的 cbind/rbind。

任何解决方法?

编辑:我不知道如何提供一个最小的例子ggplot2,除了安装我的叉子和运行

所以unit.pmax()在这种情况下会失败,而当前的比较方法compare.unit(,,pmax)在其他情况下会失败,例如,

0 投票
1 回答
2988 浏览

r - R:ggplot2 使两个 geom_tile 图具有相等的高度

我有两个 ggplot geom_tile 图,我使用 gridExtra 库中的 grid.arrange() 将它们放在一起。这是结果

绘图对齐错误

我想得到它,以便两个地块具有相同的高度并对齐。我用 gtable 摆弄了一下直接改变尺寸,但这似乎没有奏效。

错误信息:

有任何想法吗?

--- 可重现的例子 ---

0 投票
1 回答
3964 浏览

r - The perils of aligning plots in ggplot

QUESTION

How do you combine separate plots (ggplot2), with different y-axis and different plot heights, yet retain alignment?

DETAIL

When combining plots with grid.arrange (method1), with different y-axis units, they do not align. One way around this is to use gtable (method2), but I cannot adjust the relative height of the plots.

EXAMPLE

Method 1 results in this plot, which is misaligned due to the different length y axis labels:

enter image description here

Method 2 results in aligned plots, but I cannot adjust the height of each plot. enter image description here

THANKS!

0 投票
0 回答
490 浏览

r - 如何在 R 中的 gWidget 更新 gtable?

我正在努力更新以下 GUI 代码中的表数据。它可以将每个新请求添加到前一个请求中,使其不适合屏幕,而我需要用新请求替换旧请求。谢谢!一个。

0 投票
1 回答
2301 浏览

r - 使用 ggplot2 在绘图中心放置注释

我想在几个 ggplot 对象的中心放置一个注释。

我研究并发现了一些类似的问题,例如:Geom_text 在 ggplot2 中的相对定位?

到目前为止,我找到的唯一答案是操纵绝对范围(例如“,y = ymax/2”)。

我想在打印到 .pdf 之前循环添加注释层。我可以使用 +/- Inf 将注释放在角落,如下所示:

如何将注释放在中心而不是角落?

0 投票
1 回答
2101 浏览

r - 在 r 中的 facet ggplot 的每个面板上添加子表

我正在尝试使用facet_wrapR 中的 ggplot2 包创建一组完整的图。

作为一个简化示例,我使用了 ggplot2 中包含的数据集 mpg 的一个子集

这是我绘制数据的代码:

现在棘手的部分来了……我有另一个数据框“indivParam”,其中包含我想在绘图上显示为表格的额外信息。让我们说这个愚蠢的:

我要做的是在每个面板上添加一个子表,其中包含从 indivParam 中提取的信息。例如,在绘图的第一个面板上添加下表:

我尝试了几种选择...

  1. 使用annotate()但此参数不传递数据帧...

  2. annotation_custom()按照此线程中的建议使用:在 r 中的 ggplot 的绘图区域内添加表

    这也不起作用,因为它在每个面板上显示整个表,而不是包含与每个面板相关的数据的子表 ()

  3. 最后,在阅读了“tableGrob”文档页面上的示例之后,我尝试创建一个包含所有子表 grobs 的网格,并将其简单地叠加在图上:

    但是,组织与 facet 使用的不匹配..,我怀疑即使我可以将两张表并排放置,它们也会居中并隐藏情节......

有什么办法可以通过选择子表的位置来改进最后一次尝试?或者有没有更好的方法来解决这个问题?一个明显的方法是使用 ageom_table()但我不认为这个 geom 存在(还)......

任何帮助/提示将不胜感激!:-)

0 投票
3 回答
4875 浏览

r - 删除 ggplot 多面图中的一些轴标签

我已经创建了一个类似于这里的带有ggplot2包和facet_wrap功能的图,我想抑制一些 x 轴文本以使其更清晰。

例如,如果 x 轴刻度仅出现在框 D、F、H 和 J 上,则会更清晰。

我怎么能那样做?提前致谢!

编辑:可重现的代码

0 投票
1 回答
84 浏览

r - 在 ggplot2 中,我怎样才能完全展示我的 ylab 部分被 y-ticks 挡住了?

这是我原来的问题:

在 ggplot2 中,如何为双面板图分别设置 y-labs?

**而且在我使用“baptiste”给出的方法后,这也是正确的anwser,一旦我将字号变大,部分字已经被面板的白边遮住了,所以,如何解决这个问题?**

这是他的代码修改后的代码:

这是情节: 在此处输入图像描述

0 投票
1 回答
666 浏览

r - 如何用共享轴排列图?

我正在尝试创建具有共享轴和边缘直方图的三个散点图的排列。这似乎应该很简单,但它让我很适合。我已经尝试过使用 gridExtra 和 gtable 的方法,这两种方法都得到了我想要的总体安排,但是对齐和绘图大小都关闭了。

还有许多其他与此问题相关的帖子,我已经尝试了其中许多人的答案,尤其是来自@baptiste herehere的答案。后者控制宽度的方法可能是对齐的关键,但我对它的理解还不够好,无法适应我的问题。

下面是一个最小的工作示例,前面是它的结果。结果有很多问题:

  • 右下图比其他两个大。这一直是所有方法的问题,包括 grid.arrange(),我用它放置了一个空白矩形 grob 来平衡散点图。
  • maringal 直方图的大小与我对代码的期望不同,即它们的窄尺寸约为散点图宽度大小的 1/4。
  • 地块的间距太宽。
  • 没有一个边缘直方图与散点图正确对齐。
  • 右侧 (c) 的边缘直方图非常窄,以至于它根本不会出现在 png 中,但它确实会出现在 RStudio 绘图查看器中(尽管仍然太窄),尽管只有在“缩放”时才会出现。

即使坐标轴标签的宽度在图之间变化,答案也会正确对齐图的坐标轴,因为这样更适合未来的问题。

多图

0 投票
3 回答
814 浏览

r - 从ggplot中提取一个方面

我有 2 个图,每个显示不同类型的数据(疫苗和疾病),我想提取这些图的片段以生成每个受试者的图,其中包含疫苗和疾病,根据原始颜色情节

只有疫苗

只有发烧

现在,我想要 E11 的一个图,其中有一排疫苗(以 Set1 颜色着色)和一排疾病(以 Set3 颜色着色),对于 E22 也是如此。

我有很多数据类型,大约 40 个主题,所以当然,我希望自动完成,而不是通过 illustrator 等。

我认为 gtable 是要走的路,但不确定如何提取一个方面。

非常感谢!