8
मैं ऐसेggplot2: grid.arrange साथ साजिश लेआउट() को परिभाषित करें() do.call का तर्क
require(ggplot2)
require(gridExtra)
df <- data.frame(value1 = rnorm(200),
value2 = rnorm(200),
value3 = rnorm(200),
value4 = rnorm(200))
p1 <- ggplot(df) + geom_density(aes(x=value1))
p2 <- ggplot(df) + geom_density(aes(x=value2))
p3 <- ggplot(df) + geom_density(aes(x=value3))
p4 <- ggplot(df) + geom_density(aes(x=value4))
grid.arrange(p1, arrangeGrob(p2,p3,p4, ncol=3), heights=c(2.5/4, 1.5/4), ncol=1)
लेकिन एक समारोह
का उपयोग कर के रूप में भूखंडों की एक असंतुलित ग्रिड प्राप्त करना चाहते हैं के रूप मेंmyplot <- function(i){
p <- ggplot(df) + geom_density(aes_string(x=i))
return(p)
}
और एक lapply
कॉल
p <- lapply(c("value1","value2","value3","value4"), myplot)
do.call(grid.arrange, c(p))
इस मामले में grid.arrange
2 से 2 मैट्रिक्स में भूखंड वितरित करें। लेकिन मैं
grid.arrange(p1, arrangeGrob(p2,p3,p4, ncol=3), heights=c(2.5/4, 1.5/4), ncol=1)
मेरा प्रश्न अलग है क्योंकि मेरे मामले में भूखंडों असंतुलित कर रहे हैं। मैं बस एक सूची को पास नहीं कर सकता हूं। क्योंकि मैं अलग-अलग भूखंडों के लिए अलग-अलग ऊंचाई चाहता हूं (चित्र देखें) – CptNemo
तो, आप एक लेआउट को परिभाषित करना चाहते हैं। कृपया तदनुसार अपने प्रश्न शीर्षक और शरीर को समायोजित करें। – Roland
कुछ संपादन किया था। यह सुनिश्चित नहीं है कि यह ठीक है या नहीं, सुनिश्चित करें कि लेआउट द्वारा आपका क्या मतलब है। – CptNemo