插入图像/ PNG ggplot2-Cowplot

时间:2018-12-19 13:37:30

标签: r ggplot2 cowplot

我正在尝试使用Cowplot程序包的draw_image()函数。我已经设法以图表的形式获取图像。

我无法确定xy位置的工作方式,我不得不不断输入随机数,直到看到图像为止。

require(ggplot2) #required packages
require(cowplot)
require(magick)

p1 <- qplot(Sepal.Length, Sepal.Width, data = iris)

ggdraw(p1) +      
  draw_image(
    "https://upload.wikimedia.org/wikipedia/en/7/77/EricCartman.png",
    y = 0.2,
    scale = 0.5
  )

有人能建议他们发挥什么作用吗?它肯定看起来与图形的比例不同。

1 个答案:

答案 0 :(得分:0)

在图的坐标中。可能使您感到困惑的是ggdraw()正在建立一个新的坐标系,它在x和y上都从0到1运行。如果要在绘图坐标中绘制图像,则无需使用ggdraw()。只需将draw_plot()直接添加到图中即可。

library(ggplot2)
library(cowplot)
theme_set(theme_bw())

p1 <- qplot(Sepal.Length, Sepal.Width, data = iris)

# ggdraw() sets up a new coordinate system running from 0 to 1. This
# allows you to place an image on top of the plot.
ggdraw(p1) + 
  draw_image("https://upload.wikimedia.org/wikipedia/en/7/77/EricCartman.png")

# if you want to draw the image into the plot, don't use ggdraw()
p1 + draw_image(
  "https://upload.wikimedia.org/wikipedia/en/7/77/EricCartman.png",
  x = 5, y = 2.5, width = 2, height = 1.5
)

reprex package(v0.2.1)于2018-12-19创建