2014-03-31 37 views
0

这是一个非常愚蠢的问题:我已经使用GGPLOT2很多次,但这次它没有阴谋我y轴的规模,但它也没有给我任何错误味精...为什么ggplot2没有绘制我的刻度?

这是什么我有以防万一有人可以弄清楚出了什么问题:

graph.1 <- subset(school.year, year > 1930 & year < 1940) 
ggplot(graph.1, aes(x=year, y=school.y)) + geom_line() + 
    geom_point() + geom_text(aes(label=qtr), hjust=1.5) + 
    xlab("Year of birth") + 
    ylab("Years of completed education") + 
    scale_y_continuous(breaks=seq(15.2, 17, 0.2)) + 
    scale_x_continuous(breaks=seq(1930, 1940, 2)) + 
    # To remove the gray background: 
    theme_bw() + 
    theme(axis.line = element_line(colour = "black"), 
     panel.grid.major = element_blank(), 
     panel.grid.minor = element_blank(), 
     panel.border = element_blank(), 
     panel.background = element_blank()) 

先谢谢您!

+0

好,因为跛脚,因为这是我想通了......问题是我的“scale_y_continuous(符= seq(15.2,17,0.2))“,我的值超出了这个限制,只要我修好了,它就起作用了。我不知道是否应该删除这篇文章,或者如果这个愚蠢的问题可以帮助任何人。随意删除它,如果你想。 –

+1

请将其作为回答,只要您被允许(可能有最短时间) –

回答

2

我认为问题出在您的数据框子集上。当您的子集year>1930时,scale_x不会获得1930.以下是可重现的示例数据,用于解决您的问题,该问题在运行代码时未显示如预期的刻度线。

set.seed(3487) 
y <- seq(15, 17, by=.1) 
x = sample(1930:1940, size=length(y), replace=T) 
z = sample(1:4, size=length(y), replace=T) 
school.year <- data.frame(year =x, school.y=y, qtr=z) 

而当你的子集,包括1930年,刻度标记很好地工作

graph.1 <- subset(school.year, year >= 1930 & year <= 1940)