R是一個也是個很強大的繪圖軟體
但剛入門的話就先學最基本的吧
這篇要畫的是點狀圖
使用的資料集是內建資料集”Orange”
如果想要知道R內建有哪些資料集可以輸入
> library(help = "datasets")
對哪一個資料及有興趣就輸入?”,像是
> ?Orange
這個資料集是紀錄橘子樹的生長紀錄
變數有三個: “Tree”, “age”, “circumference”
Tree: 測量時影響的因素,使用1-5代表。
age: 橘子樹的樹齡(天數)。
circumference: 樹幹周長(mm)
好啦進入本次主題畫出x軸是樹幹周長,y軸是樹齡的點狀圖,並以影響因素標記。
我會盡量使用”par”這個function的參數,可以參考自己所需即可。
有興趣一樣可以用”?par”去看所有可調參數。
首先做出界定出圖的邊界
> par("mar")
[1] 5.1 4.1 4.1 2.1
#上面語法意義是告訴我們邊界的長度,下5.1;左4.1;上4.1;右;2.1
我們來調整成4、4、3、3
par(mar=c(4,4,3,3))
plot(Orange$circumference, Orange$age,type="n")
#x軸為Orange中age,y軸為Orange中的circumference;type=”n”代表不要將觀測值畫出來所以會得到一張空白的圖,之後我們再慢慢加上需要的數值。
再來要將數值加上去,先加上Tree=1時的數值
points(Orange$circumference[Orange$Tree=="1"],Orange$age[Orange$Tree=="1"],col="blue",pch=3)
# points的功能是將數值以點呈現
Orange$circumference[Orange$Tree=="1"]這段意思是取Orange這個資料集中的circumference的觀測值且Tree等於1。
Col代表上點的顏色,可以使用HEX代碼
找了一個網站可以玩玩看
https://htmlcolorcodes.com/zh/
Pch為點的樣式
下圖是
Pch輸入的樣式選項
其餘四個就以此類推囉
points(Orange$circumference[Orange$Tree=="2"],Orange$age[Orange$Tree=="2"],col="#A93226",pch=4)
points(Orange$circumference[Orange$Tree=="3"],Orange$age[Orange$Tree=="3"],col="#7DCEA0",pch=5)
points(Orange$circumference[Orange$Tree=="4"],Orange$age[Orange$Tree=="4"],col="green",pch=6)
points(Orange$circumference[Orange$Tree=="5"],Orange$age[Orange$Tree=="5"],col="yellow",pch=7)
還可以幫這張圖上趨勢線
fit <-lm(Orange$age ~Orange$circumference)
abline(fit,lwd=3,col="#6C3483")
#lm給出最適線性曲線,先放y軸在x軸,fit <-lm(y ~x)
abline功能為加上該線條
在右下角加上圖例
legend("bottomright", legend = c("1", "2","3","4","5") , col = c("blue" ,"#A93226","#7DCEA0","green","yellow" ) , pch = c(3:7))
寫上這張圖的標題
title("Growth of Orange Trees",col="blue")
輸出這張圖
可以使用pdf, postscript, xfig, png, jpeg, bitmap,bmp等格式
以輸出成png檔為範例
png("Growth of Orange Trees.png",width=600, height=600)
#上面代表要以png格式輸出,檔名為Growth of Orange Trees.png,大小為長寬各600
下面就輸入繪圖的指令(就是上面演示的所有語法)
畫完之後輸入
dev.off()
#代表結束繪製並關掉輸出裝置