2017-09-01 17 views
2

ggplot2を使用して単純なグラフを作成していますが、余白が多すぎます。 scale_x_discreteのx軸目盛りの間隔が離れすぎています

Comparison graph

Iは画像全体が小さくなるように、2つの点がx軸上に互いに接近したいです。私は、次のコードでscale_x_discreteを使用しています:

ggplot(box, aes(x=Garden, y=Fitness)) + 
geom_errorbar(aes(ymin=(Fitness-Error), ymax=(Fitness+Error)), 
colour="black", width=.05) + 
geom_line() + 
geom_point(size=6)+ 
theme(panel.background = element_rect(fill = 
'white'),axis.text=element_text(size=22), 
axis.title=element_text(size=28,face="bold"),legend.key = element_rect(fill = "white"), plot.title = element_text(size=30,face="bold", hjust=0.5),axis.title.y = element_text(margin = margin(t = 0, r = 20, b = 0, l = 0)), axis.ticks.length = unit(0, "lines"),legend.text=element_text(size=24),legend.title=element_text(size=26), legend.key.size = unit(1.5, 'lines'))+ 
ggtitle("Fitness Comparison") + labs(y="Ranked Fitness", x = "Common Garden") + 
scale_x_discrete(labels=c("Warm" = "Warm Limit", "Cool" = "Cool Limit"), expand=c(0.2, 0)) 

答えて

0

2つのエラーバーの間の空白を減少させるための方法がscale_x_continuousで連続x変数を使用することです。

box <- data.frame(Garden=c("Cool","Warm"), 
        Fitness=c(2980,2050), 
        Error=c(50,50)) 

# Convert Garden from factor to numeric 
box$Garden <- as.numeric(box$Garden) 

ggplot(box, aes(x=Garden, y=Fitness)) + 
geom_errorbar(aes(ymin=(Fitness-Error), ymax=(Fitness+Error)), colour="black", width=.05, lwd=1) + 
geom_point(size=6)+ 
theme(panel.background = element_rect(fill='white'), 
     axis.text=element_text(size=22), 
     axis.title=element_text(size=28,face="bold"), 
     legend.key=element_rect(fill = "white"), 
     plot.title=element_text(size=30,face="bold", hjust=0.5), 
     axis.title.y=element_text(margin = margin(t = 0, r = 20, b = 0, l = 0)), 
     axis.ticks.length=unit(0, "lines"), 
     legend.text=element_text(size=24), 
     legend.title=element_text(size=26), 
     legend.key.size = unit(1.5, 'lines')) + 
     ggtitle("Fitness Comparison") + 
     labs(y="Ranked Fitness", x = "Common Garden") + 
     scale_x_continuous(labels=c("Cool Limit","Warm Limit"), 
         breaks=c(1,2), limits=c(0,3), expand=c(0,0)) 

enter image description here

+0

アメージング!どうもありがとうございます。魅力のように働いた。 –

関連する問題