这是一个非常愚蠢的问题:我以前曾多次使用过ggplot2,但这次它并没有在我的y轴上绘制比例,但它也没有给我任何错误消息...
这就是我所拥有的,以防有人能够弄清楚出了什么问题:
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 :(得分: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)