प्रश्नggplot में भूखंडों संरेखित के खतरों
कैसे आप अलग भूखंडों (ggplot2), विभिन्न y- अक्ष और विभिन्न साजिश ऊंचाइयों के साथ गठबंधन करते हैं, अभी तक संरेखण को बनाए रखने?
विवरण
जब grid.arrange
(Method1) के साथ भूखंडों के संयोजन, विभिन्न y- अक्ष इकाइयों के साथ, वे संरेखित नहीं करते। इसके आसपास एक तरीका gtable
(method2) का उपयोग करना है, लेकिन मैं भूखंडों की सापेक्ष ऊंचाई समायोजित नहीं कर सकता।
उदाहरण
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))
विधि 1 परिणाम इस साजिश है, जो गलत संरेखित है में अलग अलग लंबाई y अक्ष लेबल की वजह से:
#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)
विधि को संरेखित में 2 परिणाम भूखंड, लेकिन मैं प्रत्येक साजिश की ऊंचाई समायोजित नहीं कर सकता।
धन्यवाद!
[** यह मदद कर सकता है **] (http://stackoverflow.com/a/16368413/1478381) –