1. 程式人生 > >R語言繪圖1

R語言繪圖1

文章目錄

R語言繪圖1

難點一:修改影象引數的兩種方法

#方法一:用par引數進行修改
#par()將生成一個含有當前影象引數設定的列表
#par(no.readonly = T)可以生成一個可以修改的當前引數列表
#輸入執行資料
dose = c(20, 30, 40, 45, 60)
drugA = c(16, 20, 27, 40, 60)
drugB <- c(15, 18, 25, 31, 40)
drugc <- c(14, 16, 24, 27, 36)
#用par修改引數
opar = par(no.readonly = TRUE) #為後面恢復原始引數設定
par(lty=2, pch=17) #修改線性和點的形狀
plot(dose, drugA, type = "b")
par(opar) #恢復成原始設定

#方法二:為高階函式提供optionname = value的鍵值對,制定的選項僅對這幅影象有效####
plot(dose, drugA, type = "b", lty=2, pch=17, main="dose vs. drug")

結果展示如下
在這裡插入圖片描述

難點二:如何將多條曲線畫在一張圖上

#見
png("難點二.png")
opar <- par(no.readonly = T)
par(lwd=2, cex=1.5, font.lab=2)  #分別改變字型的大小和字型的樣式
plot(dose, drugA, type = "b", pch=15, lty=1, col="red", ylim=c(0,60), main = "DrugA VS. DrugB", xlab = "Drug Dosage", ylab = "Drug Response")
lines(dose, drugB, type = "b", pch=17, lty=2, col="blue") 
lines(dose, drugc, type = "b", pch=16, lty=3, col="yellow") #用line可以新增很多附加線
abline(h=c(30), lwd=1.5, lty=2, col="gray") #新增參考線
#新增次要刻度線
library(Hmisc)
minor.tick(nx=3, ny=3, tick.ratio = 0.5)
#新增圖例
legend("topleft", inset = 0.05, border="red", title="Drug type", c("A","B","C"), lty = c(1,2,3), pch = c(15,17,16),col = c("red", "blue","yellow"))
par(opar)
dev.off()

結果展示
在這裡插入圖片描述

難點三:給點新增文字標註

#難點三:如何給點新增文字標註####
png("難點三.png")
attach(mtcars)
plot(wt, mpg,
     main = "Mileage vs. Car Weight",
     xlab="weight", ylab="Mileage",
     pch=18, col="blue")

#用text函式給點新增文字
text(wt, mpg, 
     row.names(mtcars),
     cex = 0.6, pos=4, col="red")
detach(mtcars)
dev.off()

結果展示
在這裡插入圖片描述

難點四:如何將圖片匯出為不同格式

#本例項展示輸出為png格式,還可以輸出png(),jpeg(),bmp()等格式
png("****.png")
plot(dose, drugA, type = "b", lty=2, pch=17, main = "dose vs. drug")
dev.off()

未完待續,敬請期待…
參考文件:
R in Action