簡體   English   中英

ggplot:覆蓋兩個圖

[英]ggplot: overlay two plots

是否可以使用gridExtra(或其他包)覆蓋兩個圖?

我想重新縮放一個繪圖並將其覆蓋到第二個繪圖(指定重新縮放和坐標)

require(ggplot2)
require(gridExtra)

df <- data.frame(value=rnorm(10), date=1:10)

p1 <- ggplot(data.frame(df), aes(value,date)) + geom_line()
p2 <- ggplot(data.frame(df), aes(value,date)) + geom_point()

獲得這樣的東西

在此輸入圖像描述

看看gtable包與組合gridExtra 您可以根據需要指定繪圖的大小和坐標。

require(gtable)

p1 <- ggplotGrob(p1)
p2 <- ggplotGrob(p2)

gt <- gtable(widths = unit(c(1, 2), "null"), heights = unit(c(.2, 1, 1), "null"))
gt <- gtable_add_grob(gt, p2, t = 1, b = 3, l = 1, r = 2)
gt <- gtable_add_grob(gt, p1, t = 2, l = 2)
grid.draw(gt)

在此輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM