HỎINhững hiểm họa của việc sắp xếp lô trong ggplot
Làm thế nào để bạn kết hợp lô riêng biệt (ggplot2), với khác nhau trục y và chiều cao cốt truyện khác nhau, tuy nhiên vẫn giữ sự liên kết?
CHI TIẾT
Khi kết hợp lô với grid.arrange
(method1), với các đơn vị y-axis khác nhau, họ không sắp xếp. Một cách xung quanh việc này là sử dụng gtable
(phương pháp 2), nhưng tôi không thể điều chỉnh độ cao tương đối của các ô.
VÍ DỤ
require(ggplot2)
#Make two plots, with different y axis
x = c(1, 5)
y= c(.1, .4)
data1<-data.frame(x,y)
top<-
ggplot(data1, aes(x=x, y=y))+
geom_line()
x = c(1, 5)
y= c(100000, 400000)
data2<-data.frame(x,y)
bottom<-
ggplot(data2, aes(x=x, y=y))+
geom_line()
# Method 1 - Grid Extra
require(gridExtra)
grid.arrange(top, bottom, heights=c(.6,.3))
Phương pháp 1 kết quả trong âm mưu này, đó là lệch do các nhãn trục dài y khác nhau:
#Method 2 - gtable
require(gtable)
#Extract Grobs
g1<-ggplotGrob(top)
g2<-ggplotGrob(bottom)
#Bind the tables
g<-gtable:::rbind_gtable(g1, g2, "first")
#Remove a row between the plots
g <- gtable_add_rows(g, unit(-1,"cm"), pos=nrow(g1))
#draw
grid.newpage()
grid.draw(g)
Phương pháp 2 kết quả trong việc sắp xếp âm mưu, nhưng tôi không thể điều chỉnh chiều cao của mỗi ô.
THANKS!
[** Điều này có thể giúp **] (http://stackoverflow.com/a/16368413/1478381) –