在R中使用Cowplot对齐image()图

时间:2018-10-24 18:47:18

标签: r image cowplot

我想用image()函数生成的R中的两个图对齐。

示例代码:

# Load package
library(cowplot)

# Plot sample image
image <- image(matrix(rnorm(1000), 100,100))

# Align plots
plot_grid(image, image)

但是,当我这样做时,不会出现图。我想念什么吗?还是Cowplot不能处理图像功能生成的图?

2 个答案:

答案 0 :(得分:2)

您需要做一些工作才能将它们存储在您的环境中。如果您勾选image,则会看到它是NULL。因此,您必须将其记录下来,然后绘制出来。

p <- recordPlot()
plot.new()
image(matrix(rnorm(1000), 100,100))
p

plot_grid(p, p, nrow = 2)

enter image description here

答案 1 :(得分:1)

如果您想对基数R图使用Cowplot,我强烈建议您使用当前开发版的Cowplot。在该版本中,您只需将图像代码转换为公式即可(只需在前面添加~即可。

library(cowplot)
#> 
#> 
#> *******************************************************
#> Note: cowplot does not change the default ggplot2 theme
#> anymore. To recover the previous behavior, execute:
#>   theme_set(theme_cowplot())
#> *******************************************************

# Plot sample image
image <- ~image(matrix(rnorm(1000), 100,100))

# Align plots
plot_grid(image, image)

reprex package(v0.2.1)于2018-10-27创建