2016-03-27 8 views
-1

Ggplot2 grafiğinin her iki tarafına boş alanlar ayarlamada sorun yaşıyorum. İşte başladığım veriler:Satır aralığının her iki tarafında boşluk bırak ggplot2

ade <- c(10,7,5,9,6,6,9,4,9,6,5,9,8,7,6,12,7,9,5,5) 
adef<-cbind(c(2:21),c(ade/28)) 
colnames(adef)<-c("pos","f") 
adef<-data.frame(adef) 

Bunu çok basit çizdiğimde, iyi görünüyor. Ben kene ve etiket sayısını değiştirmeye çalıştığında

ggplot(data=adef, aes(x=pos, y=f)) + 
+  ylim(0,1) + 
+  geom_line() 

simple ggplot

Ancak beklenmedik şeyler olur:

ggplot(data=adef, aes(x=pos, y=f)) + 
ylim(0,1) + 
scale_x_discrete(breaks=c("2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22"), 
        labels=c("2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21",""))+ 
geom_line() 

ggplot after setting scale_x_discrete

ben eklemek istiyorum boş marjı/sağdaki boşluk, böylece grafiğin sol ve sağ kısmı aynı görünüyor mu?

cevap

2

Bunun yerine scale_x_continuous mu arıyorsunuz? örneğin:

ggplot(data=adef, aes(x=pos, y=f)) + 
    ylim(0,1) + 
    scale_x_continuous(breaks=2:22, labels=c(as.character(2:21), "")) + 
    geom_line() 

ve belki xlim() ve/veya scale_*() yılında expand argüman yardımcı olabilir.

+0

'limitleri = c (#, #)' dır \ n "in" _scale_ [x | y] _ * ' – hrbrmstr