我試圖在ggplot2中繪製隨機測試分數數據。分數按考試,年級和年級分列。當我運行下面的腳本時,Y軸顯示一個不需要的範圍。也就是說,範圍是無序的,而我希望它以固定的時間間隔從低到高排列。通常情況下,ggplot2在默認情況下會執行此操作,但關於數據框或我不知道的設置導致此情況不會發生。ggplot2:如何幫助ggplot2顯示正確的y軸範圍?
grade <- rep(c(5,6,7,8,9),times=6)
years <- rep(c(2008,2009,2010), each=10)
tests <- rep(c("English","Math"),times=3,each=5)
scores <- c(3.3,7.6,10.8,4.8,3.0,-2.8,14.8,12.4,0.3,6.0,7.0,3.1,3.7,-0.5,0.6,6.2,9.6,5.3,1.9,1.3,1.1,0.0,5.5,6.2,0.3,-0.4,2.2,4.9,4.7,2.6)
data2 <- data.frame(cbind(years,grade,tests,scores))
graph_2 <- ggplot(data=data2, aes(x=years, y=scores)) +
geom_point(aes(color=factor(interaction(grade,tests)),size=1)) +
geom_line(aes(group=interaction(tests,grade), color=factor(interaction(grade,tests)))) +
facet_grid(. ~ grade)
graph_2
我想也許這GGPLOT2認爲是數據是離散的,但是當我試圖is.factor(scores)
,R控制檯返回FALSE
。
可以將'color'審美移動到頂層'ggplot'對象,(使得代碼短)和我會用'facet_wrap'用'NcoI位= 1':'graph_2 < - ggplot( data = data2,aes(x = years,y = scores,color = factor(interaction(grade,tests)))+ geom_point(size = 1)+ geom_line(aes(group = interaction(tests,grade)))+ facet_wrap(〜grade,nrow = 1)' –