2016-04-11 13 views
2

私はしばしばggplotからチャートを作成しますが、私は明るいデザイン(白い背景など)を持っています これは、x軸の線がy軸の線と重なっている点を除いてすべて正常です。スクリーンショットの赤いマークを参照してください。R ggplot2:x軸線をy軸と重ならないようにする方法は?

overlapping axis, marked red

、以下に示すと、現時点では、私はイラストレーター内のすべてのプロットを編集する必要がされて、私は希望...私は、x軸はy軸線と重ならないことを希望は(ありません左側ではなく右側にある)。私の意見では、これはもっときれいに見えます。

what i want

誰もが、私はこれを達成することができます方法を知っていますか?私は今まで何も見つけていないので、どんな助けも大歓迎です。

EDIT(例):

データ:

        label_de proz 
1:      Dialekt/Sprache 37.6 
2:        Landschaft 52.1 
3: Traditionen und Bräuche (Fasnacht, etc.) 20.4 
4:    Siedlungsraum (Gebäude usw.) 21.6 
5: Sportclubs (Fussball, Eishockey, etc.) 13.4 
6:      Freunde und Bekannte 61.7 
7:         Familie 57.0 
8:     Bewohnerinnen/Bewohner 14.9 
9: Kulinarisches Angebot (Essen, Trinken) 12.2 
10:       Freizeitangebot 18.6 
11:      Politisches Profil 5.8 
12:         Anderes 13.1 

と(発注なし)ggplotコード:

p <- ggplot(data=ggdata, aes(x=label_de, y=proz) ) + 
    geom_bar(stat="identity", position="dodge") + 
    ylim(0,100) + 
    coord_flip() + 
    theme_bw() + theme(strip.background = element_blank(), 
             panel.grid.major = element_line(colour = "grey80"), 
             panel.border = element_blank(), 
             axis.ticks = element_blank(), 
             panel.grid.minor.y = element_blank(), 
             panel.grid.major.y = element_line(colour = "grey80"), 
             axis.text.y = element_text(hjust = 1), 
             legend.position="bottom") 
+0

との例は、これを追加しました - これが役に立てば幸い! – Mario

+0

グリッドGrobsを手動で編集しなくても、これを行う方法はないと思います。 – joran

答えて

5

あなたがにexpand= c(0,0)を追加することができますスケールを細かくしてから、ラベルを移動して細かくならないようにします。ランダムデータ

set.seed(123) 
ggplot(data=data.frame(label_de=letters[1:10], proz = runif(10,0, 85)), 
     aes(x=label_de, y=proz)) + 
    geom_bar(stat="identity", position="dodge") + 
    coord_flip() + 

    # notice this part 
    scale_y_continuous(limits = c(0,100), expand = c(0,0)) + 
    theme_bw() + 
    theme(strip.background = element_blank(), 
     panel.grid.major = element_line(colour = "grey80"), 
     panel.border = element_blank(), 
     axis.ticks = element_blank(), 
     panel.grid.minor.y = element_blank(), 
     panel.grid.major.y = element_line(colour = "grey80"), 
     axis.text.y = element_text(hjust = 1), 

     # notice this part 
     axis.text.x = element_text(hjust = 1), 
     legend.position="bottom") 

enter image description here

+0

とても素敵で本当に助かりましたが、今は "proz"軸ラベルがちょっと左に動かされているだけです... – Mario

+0

プロットは右端の垂直グリッド線で直ちに終了します。ラベルがダニの下にセンタリングされている場合、 '100'の一部が切り取られます。右揃えにすると(少し左に動かす効果があります)、この問題に対する私の早い解決策でした。 – arvi1000

関連する問題