问题标签 [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 回答
214 浏览

r - 情节必须只包含一个面板;多面散点图上的边际箱线图

我对编程很陌生,但我设法使用以下链接中的建议为散点图制作多面散点图和边际箱线图:http ://www.lreding.com/nonstandard_deviations/2017/08/19/cowmarg/

我的问题是如何在多面散点图上制作边际箱线图?

我的代码是:

简单的散点图:

黑白散点图:

带有标记轴的散点图:

带有标记轴和经典主题的散点图:

带有标记轴的散点图和具有更改形状的经典主题:

带有刻面和白色/灰色的箱线图:

在这里我得到了一个错误:

get_panel(grob) 中的错误:绘图必须只包含一个面板

0 投票
1 回答
617 浏览

r - Cowplot:如何将刻度线和相应的数据标签添加到边缘图?

R 包:cowplot / ggplot2

用例:带有边缘直方图的散点图。

问题:对于直方图,我无法在 x 轴上添加 bin 大小或参考下级/上级间隔。没有这些直方图很难阅读。

在cowplot中,有没有办法在需要时将刻度线和相应的数据标签(在x轴上)添加到边缘图?例如,对于边缘图中的直方图

使用cowplot的基本散点图+边缘直方图

主线剧情:

边际图:

组合图:

输出 1

但是,我希望将以下图xbox2显示为 x 轴边缘图:

输出 2

但我无法创建散点图 + 边缘直方图(xbox2)。我得到与第一个相同的情节:

输出 3

0 投票
1 回答
2046 浏览

r - 是否可以通过ggrepel避免轴标签重叠?

我正在用 ggplot2 绘制热图。y 轴上的几个刻度需要标记。然而,它们中的一些太接近并且重叠。我知道 ggrepel 可以分隔文本标签,但目前我还没有解决我的问题。

我的代码如下。欢迎任何建议。谢谢。

代码:

在此处输入图像描述

0 投票
1 回答
6016 浏览

r - 使用 ggplot2 合并和完美对齐直方图和箱线图

从昨天开始,我正在阅读答案和网站,以便在一个情节histogramboxplot生成的使用ggplot2包中组合和对齐。

这个问题与其他问题不同,因为boxplot chart需要在.heightalignedhistogram

考虑以下数据集:

我生成了箱线图:

我生成了直方图

我希望获得的结果是一个单一的情节,如: 在此处输入图像描述

请注意,箱线图的高度必须降低,并且刻度必须完全对齐,以便为同一视觉提供不同的视角。

0 投票
2 回答
1196 浏览

r - 使用cowplot将密度图与散点图完美对齐

我正在尝试构建一个用于二元绘图的函数,该函数采用 2 个变量,它能够表示边缘散点图和两个横向密度图。

问题是右侧的密度图与底轴不对齐。

这是一个示例数据:

这是功能:

这是绘图的要求:

需要指出的是,即使更改数据,这种对齐问题也始终存在。

在此处输入图像描述

这就是我的真实数据发生的情况: 在此处输入图像描述

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

0 投票
0 回答
130 浏览

r - 如何使用带有单个 x 轴标签的构面网格创建两个 y 轴标签

我一直在努力以ggplot我想要的方式显示这些图。我的数据有 2 个因素,quarter并且species. 站将在 x 轴上,值在 y 轴上,成分将与facet_wrap. 我想quarter用形状和species颜色来区分。

问题是我正在尝试复制在 SigmaPlot 中完成的图形。它是 4x4 网格图,第一列的前两行是空的,以便放置图例。我最初的计划是使用 制作两个单独的面facet-wrap,然后将它们组合起来,但是,这并不能保持 4x4 的排列,而是将其转换为 1x2,这会破坏绘图的对齐方式并缩小更大的面网格。

我的下一个想法是单独创建每个图,然后使用cowplot将它们排列在网格中。这显示了我希望它们如何排列的图,但由于单位不同,我无法弄清楚如何拥有两个 y 轴标签。一个标签将位于最左边的两个图的中心,一个位于下一列 4 个图的左侧。

我正在尝试使用此代码(只需复制下面的示例数据,然后运行):

这会产生:

在此处输入图像描述

但我希望它像这样排列,上面的 XX 和 YY 图在大小上与其他图进行归一化(这是使用单独的图完成的,并使用plot_grid): 在此处输入图像描述

来自更大集合的示例数据:

0 投票
1 回答
1058 浏览

r - 结合 purrr 和 cowplot 制作绘图网格

ggplot2我已经创建了一个数字列表列,purrr现在我想用cowplot::plot_grid()它们将它们组合成一个图。我怎样才能做到这一点?有一种蛮力的方法可以做到这一点,但是当我不先验地知道列表列中有多少元素时,这可能不起作用。

reprex 包(v0.2.0) 于 2018 年 3 月 12 日创建。

0 投票
1 回答
1317 浏览

r - 将空图添加到构面,并与另一个构面组合

使用这个SO 解决方案,我创建了一个带有两个“空”图的构面,目的是与另一组 facet_wrap 图相结合,如下所示。目的是为不同的单位测量提供两个 y 轴标签。如何使网格布局看起来像顶部图像,产生我想要的排列,而不是轴标签?这是通过plot_grid单独的地块完成的。如第二张图片所示,我当前的输出无法正确缩放并与其他图重叠,但提供了轴标签。我有下面的示例数据,只需复制并运行代码即可输入。 在此处输入图像描述

在此处输入图像描述

示例日期如下: