问题标签 [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 投票
1 回答
1473 浏览

r - ggplotGrob 对象上的 cbind 失败并显示“mmm < each 中的错误:未实现这些类型的比较”

这似乎与@baptiste 在 2014 年试图解决的问题相似。我正在重新审视我在 6 月份写的代码,其中涉及创建三个 ggplotGrobs 并将它们与对 cbind 的调用结合起来。现在,此代码失败并显示以下消息:“mmm < each 中的错误:未实现这些类型的比较。”

我认为这将特定于我的特定应用程序,但我能够制作一个非常简单、可重现的示例。即使在两个相同的 ggplotGrobs 上执行 cbind,此代码仍然会失败。

错误和相关的回溯在这里:

此代码在带有 grid_3.4.2、gtable_0.2.0 和 ggplot2_2.2.1 的 OS X 10.11.6 上的 R-3.4.2 以及带有 grid_3.3.2 的 Linux 上的 R-3.3.2(从 Ubuntu 16.04 上的源代码编译)失败、gtable_0.2.0 和 ggplot2_2.2.1。

在制作上面的示例之前,我注意到“lemon”包(“gtable_show_lemonade”)中的一个小插曲在两个 gtable 的 cbind 时在最后失败并出现相同的错误。我通过从源代码运行此小插图的代码来确认此错误,类似于:

编译后的小插图(cbind 失败)在这里:https ://cran.r-project.org/web/packages/lemon/vignettes/gtable_show_lemonade.html

使用在 OS X 10.11 (El Capitan) 上运行的上述 R-3.4.2 实例获得了小插图编译期间的失败。

对于解决此问题的任何帮助,我将不胜感激!由于我想使用我的 Mac 来生成数字(更好的字体情况),我希望有一种方法可以重载一个函数来解决这个问题。

更新:

size = 'max'如果指定(或)默认情况下,这“仅”是一个问题size = 'min'。我认为我可以使用size = 'first'or来解决它size = 'last',它不会执行有问题的高度比较,但是默认行为不起作用肯定不方便(并且在某些情况下size = 'max'很有用)。

0 投票
1 回答
189 浏览

r - gtable 对象的多图

multiplot函数在说明书中定义

考虑以下图表。

在此处输入图像描述

我想(使用函数DoStuff)将绘图作为gtable对象而不是对象来操作ggplot

我可以用grid.draw.

如何修改 multiplot 函数,使其也接受gtable对象而不仅仅是ggplot对象?

0 投票
1 回答
599 浏览

r - 关闭ggplot裁剪删除线段

我正在尝试在 ggplot 的边缘绘制一些箭头。根据我的阅读,您必须关闭情节剪辑才能做到这一点。但是,当我这样做时,它会删除我在图表上的一条线段。

理想情况下,我想要一个在边缘的 y 轴旁边运行的蓝色箭头。我想我已经明白了,但我不能松开沿着图表内部延伸的红色虚线。

0 投票
3 回答
14072 浏览

r - ggplot2中的中心对齐图例标题和图例键以获取长图例标题

当图例标题很长时,我很难使图例的标题相对于图例键居中对齐。一年前有一个问题适用于短标题,但似乎不适用于长标题。

示例,首先使用简短的图例标题:

在此处输入图像描述

一切如预期,图例标题在图例键上方居中。

现在与长图例标题相同:

在此处输入图像描述

我们可以看到文本与自身居中对齐,但与图例键无关。我曾尝试修改其他主题选项,例如legend.justification = "center",但似乎没有一个将键从图例框中的最左侧位置移动。

一些评论:

  • 几天前我正在运行ggplot2的开发版本,v2.2.1.9000。

  • 我特别需要一个连续色阶调色板的解决方案。

0 投票
1 回答
2370 浏览

r - tableGrob 特定行的格式颜色

有没有办法tableGrob通过主题来改变特定行的颜色和格式(加粗)?

我使用以下输出tableGrob

然而,我想达到以下审美,使特定的线条变粗,并像这个例子一样改变它们的颜色:

基于以下示例:在此处输入链接描述

行的颜色每 4 行更改一次。结果是: 结果

但是,我需要根据情况具体说明。

0 投票
2 回答
988 浏览

r - 如何使用 grid.arrange 在 gtable 中对齐这些表?

我有一个降价文档,使用一点 LaTeX 来生成具有以下块的 .pdf:

输出居中对齐,我希望它在顶部对齐。我的症结在于左侧已经是两个组合表,我似乎无法将该函数的输出嵌套到另一个 cal to gtable_combine(). 使用 gridExtra 中的参数我也没有任何运气layout_matrix=,因为这会在左侧两个表之间增加大量空间。

我怎样才能让左边的两张桌子非常接近(相邻的很好),并且最左边的桌子的顶部和右边的桌子的顶部水平对齐?

0 投票
1 回答
1009 浏览

r - ggplot geom_point:如何设置自定义绘图符号的字体?

通过ggplot::geom_point我们可以设置任何字符来使用scale_shape_manual. 我将提供一个演示目的的示例:使用三角形在每个单元格中制作具有两个值的热图:

带有 geom_point 的三角形热图

如果用于符号的字体具有这些特殊字符,则此方法可以正常工作。否则显然失败。我知道我们可以明确定义字体并获得相同的结果geom_text

geom_point然而,这些字符也来自字体的事实让我真的很好奇覆盖默认值的方法是什么。

我检查了这个情节的 grob 试图遵循这个例子,并以这种方式找到了要点:

这里我们有x, y, size, lwd(在上面的示例中使用)等,但没有字体。另外我想知道如何直接自动地从根 grob 中找到点的 grob,例如使用grid::getGrob,例如在引用的示例grid::grid.edit中找到它们。

我在这里找到了一些有前途的代码,它使用editGtable了一种我在任何包中都找不到的方法,可能是一个旧的方法。然后我尝试editGrob没有成功:

0 投票
0 回答
459 浏览

r - 获取ggplot2 grob的“npc”坐标

R 语言中用于生成图形的网格包使用所谓的“正常父坐标”(npc)来定位图形对象(“ grobs”)。是否可以获得 a 的 npc 坐标ggplot2 grob?这对于在各个方面绘制线(用于连接数据点)有很大帮助(ggplot,在各个方面的点之间绘制线包含一个解决方案,但这对于初学者来说很难遵循)

0 投票
2 回答
2714 浏览

r - 使用 coord_equal() 时使用 cowplot::plot_grid() 垂直对齐不同高度的图

cowplot::plot_grid()我正在尝试使用并垂直对齐两个 ggplot 对象。这通常很简单,使用align = "v".

图 1

但是,当使用 ggplots 时,这种方法会失败,coord_equal()因为plot_grid()在强制纵横比时无法修改轴。相反,默认设置是保持每个绘图的高度相同。

图 2

我可以通过玩弄并让rel_heights论点恰到好处来强制我的目标,但这不是一个可行的解决方案,因为我有许多动态的情节要构建。这里,y轴对齐,所有轴的坐标仍然相等。

图 3

ggplot2::ggplotGrob()我已经看到了许多使用and来解决类似问题的方法grid::grid_draw(),但是在使用时没有什么能解决这个问题coord_equal()。也许最好的解决方案根本不使用cowplot::plot_grid(),或者解决方案可能以某种方式动态确定并将正确的值传递给rel_heights. 我想我更喜欢后面的选项,以便能够轻松使用cowplot::plot_grid(). 或许可以从这个相关的方法中找到一些有用的灵感。

0 投票
2 回答
613 浏览

r - 使用 coord_equal() 时垂直对齐不同高度的多面 ggplots

我正在尝试将两个 FACETED ggplot 对象与coord_equal()使用cowplot::plot_grid()oregg::ggarrange()并垂直对齐它们。

egg::ggarrange()方法适用于 UNFACETED 地块,解决方案在这里发布。

但是,egg::ggarrange()当包含刻面时,解决方案会失效。这些图正确对齐,但 y 轴的单位是 x 轴的单位的两倍。有关如何将其概括为刻面的任何建议?

图 1