Se si vuole perdere tempo con esso, è possibile utilizzare il pacchetto gridExtra
, e la trama 2 (o più) tagliato le sezioni del grafico. Ho armeggiato con i margini per farlo allineare, ma un piano migliore sarebbe probabilmente per formattare le etichette degli assi per la stessa larghezza del testo,
require(ggplot2)
require(gridExtra)
data <- data.frame(qnt=c(10,20,22,12,14,9,1000),lbl=c("A","B","C","D","E","F","G"))
g1<-ggplot(data=data, aes(x=lbl, y=qnt)) +
geom_histogram(stat="identity")+
coord_cartesian(ylim=c(-10,50)) +
labs(x=NULL, y=NULL)+
theme(plot.margin=unit(c(2,2,6,3),"mm"))
g2<-ggplot(data=data, aes(x=lbl, y=qnt)) +
geom_histogram(stat="identity") +
coord_cartesian(ylim=c(990,1010)) +
theme(axis.text.x = element_blank(),
axis.title.x = element_blank(),
axis.title.y = element_blank(),
axis.ticks.x = element_blank()) +
labs(x=NULL, y=NULL) +
theme(plot.margin=unit(c(5,2,0,0),"mm"))
grid.arrange(g2,g1, heights=c(1/4, 3/4), ncol=1, nrow=2)
è 'coord_cartesian()' non è compatibile con 'coord_flip()'? Non sembrano lavorare insieme ... – CptNemo
Se hai bisogno dell'asse di inversione, usa + coord_flip (ylim = c (0,100)) –