Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
501 views
in Technique[技术] by (71.8m points)

r - Setting y axis breaks in ggplot

I'm having difficulty setting the breaks in my code, I've tried adding breaks=seq(0, 100, by=20) but just can't seem to get it to work right. Essentially I want the Y axis to go from 0-100 with ticks every 20.

    YearlyCI <- read.table(header=T, text='
  Station Year       CI        se
     M-25 2013 56.57098 1.4481561
     M-45 2013 32.39036 0.6567439
      X-2 2013 37.87488 0.7451653
     M-25 2008     74.5       2.4
     M-45 2008     41.6       1.1
     M-25 2004     82.2       1.9
     M-45 2004     60.6       1.0
     ')


library(ggplot2)
ggplot(YearlyCI, aes(x=Year, y=CI, colour=Station,group=Station)) +
  geom_errorbar(aes(ymin=CI-se, ymax=CI+se), colour="black", width=.2) +
  geom_line(size=.8) +
  geom_point(size=4, shape=18) +
  coord_cartesian(ylim = c(0, 100)) +
  xlab("Year") +
  ylab("Mean Condition Index") +
  labs(fill="") +
  theme_bw() +
    theme(legend.justification=c(1,1), legend.position=c(1,1)) 
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You need to add

+ scale_y_continuous(breaks = seq(0, 100, by = 20))

EDIT: Per comment below, this only works if axis already in the appropriate range. To enforce the range you can extend above code as follows:

+ scale_y_continuous(limits = c(0, 100), breaks = seq(0, 100, by = 20))

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...