今天筆記的內(nèi)容是R語言中繪圖相關(guān)的基礎(chǔ)知識,繪制簡單的餅圖、條形圖。
餅圖怎么畫?
R語言中pie()函數(shù)用于繪制餅狀圖,需要準備向量數(shù)據(jù)、標簽、調(diào)色板等信息,然后利用函數(shù)生成圖片,語法格式為:
pie(
x, #數(shù)值向量,餅狀圖中每塊面積大小
labels = names(x), #字符向量,各扇區(qū)的名稱
edges = 200, #外邊圓圈的邊數(shù),越大越平滑
radius = 0.8, #餅圖半徑
clockwise = FALSE, #邏輯值,是否對各塊按順時針進行分隔
density = NULL, #底紋密度
angle = 45, #底紋斜率
col = NULL, #每個區(qū)域的顏色
main = NULL, #標題
…)
接下來進行示例演示,我們做一個簡單的餅圖。
#安裝與加載R包
install.packages("plotrix", repos = "https://mirrors.ustc.edu.cn/CRAN/")
library(plotrix) #plotrix用于繪制3d餅圖
#輸入變量
x = c(1, 2, 4, 8)
#輸入標簽名稱
ns = c("a", "b", "c", "d")
#輸入調(diào)色信息
cols = c("#ED1C24","#22B14C","#FFC90E","#3f48CC")
#繪制3D餅圖
pie3D(x,labels = ns,explode = 0.1, main = "first pie plot")
#繪制平面餅圖
pie(x,labels = ns,col=cols)
然后可以在右下角plot窗口看到如下餅圖:

3D餅圖

平面餅圖
可以使用
png()、jpeg()、bmp() 函數(shù)設(shè)置輸出的文件格式為圖片,如下:
#設(shè)置文件名稱和參數(shù)
png(filename = "first-pie.png",height = 400,width = 400)
#繪制圖形
pie(x,labels = ns,col=cols)
#關(guān)閉打印器(相當于把圖片保存,只有這樣才能打開這個圖片,不然是0B,因為系統(tǒng)默認處于一直編輯狀態(tài))
dev.off()
條形圖怎么畫?
R語言中用 barplot() 函數(shù)來創(chuàng)建條形圖,格式如下:
barplot(
height, #條形圖的高度
width, #條的寬度
sapace #條之間的間隙值
horize #是否水平放置
xlab, #x軸標簽
ylab, #y軸標簽
main, #標題
names.arg, #每個矩形條的名稱
col, #顏色
)
接下來進行示例展示,繪制兩個條形圖,前者是常見的一維向量條形圖,后者是二維向量制作的堆疊條形圖。
a <- c(1,2,3,4,3,2,1)
names(a) <- c('a','b','c','d','e','f','g')
png(filename = "secendplot.png")
#繪制條形圖
barplot(a,main = "two barplot",legend=FALSE)
dev.off()
#工作目錄下會有一個圖片文件生成,打開可以查看結(jié)果。

接來下用矩陣來試試,3×3的矩陣繪制出來有兩部分堆疊在一起。
b <- matrix(c(1,2,3,4,2,3,1,4,1),nrow = 3,byrow = T)
colnames(b) <- c('c1','c2','c3')
rownames(b) <- c('r1','r2','r3')
barplot(b,main = "3 barplot",legend=FALSE)
#完成后在屏幕右下角plot窗口查看圖片,也可以進行保存。

beside 參數(shù)
beside=FALSE 時,條形圖的高度是矩陣的數(shù)值,矩形條是水平堆疊的。
beside=TRUE 時,條形圖的高度是矩陣的數(shù)值,矩形條是并列的。
比如,用剛剛矩陣的數(shù)據(jù)繪制時,添加一個參數(shù)beside=TRUE,得到下列結(jié)果。
barplot(b,main = "4 barplot",legend=FALSE,beside = TRUE)

補充內(nèi)容:有時候安裝R包出現(xiàn)報錯,安裝失敗。可以試試通過下面這種方式來安裝,只需要復(fù)制代碼,然后把想安裝的包名稱寫進去就可以。
if (!require("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("這里填寫需要安裝的R包")

本文由mdnice多平臺發(fā)布