ggplot2 ile birden fazla ızgara çizimi oluşturmaya çalıştım. Bu yüzden böyle farklı gruplar ve değişkenler için dağıtım x ekseni altında ek Boxplot ile arsa ve üretmek istiyoruz:ggplot2 - çoklu ölçeklendirme ölçeklendirme
KODU: yapmaya çalıştığım o aşağıdaki kodla:
library(ggplot2)
require(grid)
x=rbind(data.frame(D1=rnorm(1000),Name="titi",ID=c(1:1000)),
data.frame(D1=rnorm(1000)+1,Name="toto",ID=c(1:1000)))
space=1
suite=1
p1=ggplot(x, aes(x=D1, color=Name, fill=Name)) +
geom_histogram(aes(y=..density..),alpha=0.35,color=adjustcolor("white",0),position="identity",binwidth = 0.05)+
geom_density(alpha=.2,size=1)+
theme_minimal()+
labs(x=NULL,y="Density")+
theme(legend.position = "top",
legend.title = element_blank())+
scale_fill_manual(values=c("gray30","royalblue1"))+
scale_color_manual(values=c("gray30","royalblue1"))
p2=ggplot(x, aes(x=factor(Name), y=D1,fill=factor(Name),color=factor(Name)))+
geom_boxplot(alpha=0.2)+
theme_minimal()+
coord_flip()+
labs(x=NULL,y=NULL)+
theme(legend.position = "none",
axis.text.y = element_blank(),
axis.text.x = element_blank(),
panel.grid.minor.x = element_blank(),
panel.grid.major.x = element_blank(),
panel.grid.minor.y = element_blank(),
panel.grid.major.y = element_blank())+
scale_fill_manual(values=c("gray30","royalblue1"))+
scale_color_manual(values=c("gray30","royalblue1"))
grid.newpage()
pushViewport(viewport(layout=grid.layout(5,1)))
define_region <- function(row, col){
viewport(layout.pos.row = row, layout.pos.col = col)
}
print(p1, vp=define_region(1:4,1))
print(p2, vp=define_region(5,1))
SONUÇ:
SORU: Aramam sırasında yoğunluk dağılımı çizimi ile kutu tabanı arasındaki o ölçeğin aynı olmadığını gözlemledim (problem 1). Bu iki grafiği ızgarada çizmek için çözüm bulamadım (kayboldum).
@Henrik teşekkürler seçenek için çok. Bu çözümü çoktan test ettim ama bundan emin değilim. –
satırı eklemek p2 <-p2 + tema (plot.margin = birim (c (0,0.3,0,1,5), "cm")) 'bir tutam çalışacaktır. Bu çözümle boxplot kenar boşluklarının hassas ayarlanması gerekebilir. Belki birisi hem p1’i hem de “p1” kenar boşluklarını kullanarak ve p2'yi uygulayarak bir yol bulabilir. – N8TRO