问题标签 [cowplot]

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 回答
1268 浏览

r - 与 cowplot 和 plot_grid 共享面板边框

我正在尝试围绕与plot_gridcowplot 包对齐的两个图绘制边框。请参阅以下示例(从“更改轴位置”小插图修改):

例子

现在,我想让它与轴线对齐,而不是为红框任意选择坐标。我假设可以从plot_grid输出中提取这些坐标,但我不知道如何。

0 投票
1 回答
669 浏览

r - 对齐多面图和图例

我正在尝试绘制每个方面都有自己的图例的方面。但是,我很难将它们全部正确对齐。

使用gridExtra问题是图不对齐:

在此处输入图像描述

并且使用cowplot图例有点居中:

我尝试添加legend.justification和/或legend.position但没有效果。

在此处输入图像描述

如何使两个图/图例对齐?

0 投票
1 回答
70 浏览

r - 如何在同一列内制作箱线图来表示土壤柱

我正在尝试使用箱形图来展示地下不同深度的土壤类型(土壤柱)。但是,由于采样间隔不一致,因此样本之间也存在差距。

我的问题如下:

  1. 是否可以将箱形图放在同一列中?即 1 个直列中的所有箱形图

  2. 使用时是否可以删除 x 轴标签和刻度ggdraw?我在使用 plot 时尝试将其删除,但在使用ggdraw.

我的代码如下所示:

在此处输入图像描述

在图像中,我使用红色箭头和线条指出了我想要的内容。

0 投票
2 回答
2580 浏览

r - 带有 ggplots 的 for 循环生成具有相同值但标题不同的图形

我已经阅读了很多关于使用 ggplot 循环来生成大量图表的帖子,但找不到任何可以解释我的问题的帖子......

我有一个数据框,正在尝试遍历 92 列,为每列创建一个新图。我想将每个图保存为单独的对象。当我运行我的循环(下面的代码)并打印图表时,所有图表都是正确的。但是,当我用 assign() 更改 print() 命令时,图表不正确。标题会按应有的方式发生变化,但是图形值都是相同的(它们都是最终图形的值)。我发现这一点是因为当我使用 plot_grid() 生成一个包含 10 个图的图形时,图形标题和轴标签都是正确的,但值是相同的!

我的数据集很大,所以我在下面提供了一个小数据集进行说明。

示例数据名:

情节:

我在想,当 ggplots 绘制绘图时,它只呈现 i 的最终值中的数据?或者类似的东西?有没有解决的办法?

我希望这样做,因为我想制作很多图表,然后我想混合和匹配图表的图表。

谢谢!

0 投票
2 回答
14922 浏览

r - R 中牛图网格的一个共享图例

我刚刚用包构建了一个网格cowplot(以标记来自 AD 的图)。这些图是用 package 制作的ggplot2

数据看起来像这样(4 个不同的表格,百分比略有不同,但原理相同):

它看起来像这样:

阴谋

代码是:

现在我想知道是否有可能为所有四个情节获得一个共享图例,因为它窃取了大量情节空间来拥有它 4 次。我很感激任何帮助。

0 投票
1 回答
2669 浏览

r - 如何在ggplot2中设置外边距?

在R基本情节中,可以通过控制外边距oma(),我想知道是否有类似的功能ggplot2可以做到这一点。如下图所示,图形与页面边缘之间几乎没有空隙。非常感谢。在此处输入图像描述

请注意,我不是在询问每个子图之间的设置边距(这可以plot.margin=在 ggplot2 中完成)。我要问的是如何设置整个图形的外边距(类似于omaR 基本图)。谢谢。

0 投票
1 回答
1966 浏览

r - 安排多个ggplots,但避免由于轴标签而挤压

我一直在使用 cowplot::plot_grid 来排列多个 ggplot 图形,总的来说效果很好。但是,我现在遇到了一个问题,我想在底部图上包含 x 轴标签,但它最终会挤压所有图(使用 align =“vh”)​​或最低图(使用 align =“ v") 列中。

有什么方法可以提取 x 轴标签 grob,并将其添加为 plot_grid 中的另一个图(可能类似于https://github.com/wilkelab/cowplot/blob/master/vignettes/shared_legends.Rmd for legends )? 还是另一种方法?

感谢您的任何想法!

在此处输入图像描述

0 投票
2 回答
279 浏览

r - 是否可以抑制标签cowplot包R

我想知道是否可以使用包cowplot来抑制(x - top:“mpg”)和(y - right:“wt”)处的轴标签。

谢谢!

在此处输入图像描述

0 投票
1 回答
1175 浏览

r - 牛情节中的 plot_clone 错误

我正在尝试plot_grid在包 cowplot 中使用来制作 2x2 绘图。我不断收到错误消息:

plot_clone(plot) 中的错误:尝试应用非函数

我不知道如何纠正这个问题。起初我不确定 cowplot 是否只能处理 1x2 或 2x1 布局,类似于您在这个小插图中看到的。因此,按照接近结尾的示例,我尝试保存两对两个,然后使用plot_grid. 但是每当我运行该函数时,我都会收到相同的错误消息。

我的四个ggplots保存为:

我的cowplot代码如下:

有没有人遇到过并解决过这个问题?为了确保我的所有系统要求都正确,我更新到 R 版本 3.3.1,我在 Windows 10 机器上从 RStudio 运行。

编辑

您应该能够将此代码复制并粘贴到您的控制台。这将创建我的四个数据框,将它们保存为 ggplots,然后执行 plot_grid。当您独立运行四个 ggplots 时,它们可以正常工作。

编辑 2

我也刚刚意识到,当我返回并尝试仅可视化其中一个图(例如,plot.b)时,我现在收到错误消息并且无法生成它,而在尝试之前每个图都可以正常工作安排他们使用plot_grid.

0 投票
4 回答
4402 浏览

r - R将ggplot对象分配给循环列表

我正在使用 afor loop将 ggplots 分配给 a list,然后将其传递给plot_grid()(package cowplot)。plot_grid将多个 ggplot 并排放置在一个图中。这手动工作正常,但是当我使用 a 时for loop,生成的最后一个图会在图中的每个子帧中重复(如下所示)。换句话说,所有子帧都显示相同的 ggplot。

这是一个玩具示例:

预期数字:

在此处输入图像描述

图来自for loop

在此处输入图像描述

如this question中所述,我尝试将列表元素转换为grobs,如下所示:

但我得到了同样的结果。

我认为问题在于循环分配,而不是plot_grid(),但我看不出我做错了什么。