2017-01-30 69 views
2

y=0がy軸の最下部にないときに、y=0に目盛りを追加する方法はありますか?この粗い例では、y軸の範囲は - $ 20,000〜$ 20,000、geom_hliney=0に追加し、軸のダニを削除しました。しかし、私はチャートの真ん中にあるy=0でライン上の微妙なダニを追加する方法を見つけ出すことはできません:に沿って目盛りを目盛りを削除し、間隔についての質問の嫌な数がありますggplot2でy軸が負になると、y = 0に目盛りを追加するにはどうすればよいですか?

diamonds %>% 
    mutate(price = ifelse(cut == "Very Good", price * -1, price)) %>% 
    ggplot(aes(carat, price)) + 
    geom_point() + 
    geom_abline(yintercept = 0) + 
    theme(axis.ticks.length = unit(0, "points"), 
     panel.background = element_rect(fill = "white"), 
     axis.line.y = element_line(color = "black")) + 
    labs(title = "Diamonds") 

x軸とy軸ですが、私の質問に対する答えは見つかりませんでした。ありがとうございました!

+0

ないidが、これはまだhttp://stackoverflow.com/questions/36676878/ggplot2-適用けど...であることを確認してannotateまたは同等でこれを試すことができますxy軸交差時軸ラベル – user20650

+0

'geom_segment(data = data.frame()、aes(y = rep(-700,6)、yend = rep(700、 6)、x = 0:5、xend = 0:5))+ ' – eipi10

答えて

4

あなたはgeom='segment'

x.axis.labels <- seq(0,5,0.25) # positions of the subtle ticks 
diamonds %>% 
    mutate(price = ifelse(cut == "Very Good", price * -1, price)) %>% 
    ggplot(aes(carat, price)) + 
    geom_point() + 
    geom_hline(yintercept = 0) + 
    theme(axis.ticks.length = unit(0, "points"), 
     panel.background = element_rect(fill = "white"), 
     axis.line.y = element_line(color = "black")) + 
    labs(title = "Diamonds") + 
    annotate(geom='point', x=x.axis.labels, y = 0, ymin=-10, ymax=10) + 
    annotate(geom='text', x=x.axis.labels, y = -200, label=x.axis.labels, vjust=1) 

enter image description here

関連する問題