:Hi,手把手一顆兩顆三顆四顆連成線,是不是就成了折線圖?
你在家裡的院子裡種了兩顆樹(樹1與樹2),每隔一個月(共5個月)測量兩棵樹的高度,這樣就產生出3個不同的變量:
height_1代表樹1的高度
hieight_2代表樹2的高度
months代表月份(0, 1, 2, 3, 4, 5)
現在的任務是用折線圖畫出兩棵樹在5個月中高度的變化情況。
首先創建這個數據。
例1. 創建數據
#創建所需數據months <- 0:5height_1 <- c(1, 2, 2, 3, 5, 5)height_2 <- c(1, 3, 4, 3, 2, 2) ————————————————
用新創建的數據畫一個折線圖。
例2. 做折線圖,以觀察兩棵樹的高度變化情況
#做一個基礎版本的折線圖plot(height_1 ~ months, type = "b")lines(height_2 ~ months, type = "b")【注釋】
1. 第二行中type = "b"要求R既畫出點,也畫出線,即折線圖。
2.lines(height_2 ~ months, type = "b")在樹1的基礎上加上樹2的數據。
3. lines( )一般都是跟隨著plot( )之後,一般不是單獨存在。
————————————————
從上圖可知,這個圖遠遠不夠完美,我們甚至不知道哪條線是樹1,哪條是樹2。
那如何實現?
例3. 改變折線的形狀,同時改變橫縱坐標的注釋
#改變折線的形狀plot(height_1 ~ months, type = "b", xlab = "Months", ylab = "Height")lines(height_2 ~ months, type = "b", lty = "dotted")【注釋】
第六行中的lty = "dotted"將樹2的線改為虛線(dotted)。lty即線的形狀(line type)。 ————————————————
雖然我們自己知道虛線那一條代表的是樹2,可是其他看圖的人不知道,所以我們需要在圖中表示出來虛線代表樹2的高度。
要如何實現呢?
例4. 加上legend
#加上legend# 樹1的折線圖plot(height_1 ~ months, type = "b", xlab = "Months", ylab = "Height", pch = 17, lty = "solid")# 加上樹2的折線圖lines(height_2 ~ months, type = "b", lty = "dotted", pch = 19)# 加上legendlegend(0.2,5, legend = c("Tree 1", "Tree 2"), pch = c(17, 19), lty = c("solid", "dotted"))
【注釋】
1. 第六行中的pch = 17將樹1的點變為實心三角形; 第7行中的lty = "solid"將線條變為實線。
2. 第十行中的lty = "dotted"將樹2的線條變為虛線;第11行的pch = 19將樹2的點變為實心圓點。
3. 第十三至十六行加上legend的具體信息。其中0.2, 5是指legend在圖上的坐標(x, y)。
————————————————
最後一步是調節顏色。
例5. 調節兩組數據的顏色
#調節顏色plot(height_1 ~ months, type = "b", xlab = "Months", ylab = "Height", pch = 17, lty = "solid", col = "steelblue")lines(height_2 ~ months, type = "b", lty = "dotted", pch = 19, col = "tomato1")legend(0.2,5, legend = c("Tree 1", "Tree 2"), pch = c(17, 19), lty = c("solid", "dotted"), col = c("steelblue", "tomato1"))【注釋】
分別在第七, 十一, 十六行添加上各自的顏色即可。 ————————————————
大家有沒有發現plot()可以畫出不同的圖,type = 「b」就是今天講到的折線圖;如果不加上,R就會默認是散點圖【R語言畫展基礎篇-散點圖1.0】。
讓R語言和統計變得簡單!