R plots
install.packages("ggplot2")
library(ggplot2)
set.seed(23) # 生成隨機(jī)數(shù)的種子,相當(dāng)于 python中的 random_state=1234 ?
data = diamonds[sample(nrow(diamonds), 1000),] # 逗號(hào)
head(data)
# 散點(diǎn)圖,橫軸克拉,縱軸價(jià)格
qplot(carat, price, data = data)
# 散點(diǎn)圖,x, y 值取 log
qplot(log(carat), log(price), data = data)
# 顏色,大小,形狀和其他屬性設(shè)置
qplot(log(carat), log(price), data = data, colour = color)
# 以 cut 為分類(lèi)依據(jù),設(shè)置不同的形狀
qplot(log(carat), log(price), data = data, colour = color, shape = cut)
qplot() 函數(shù)配合不同的幾何對(duì)象便可繪制出不同的圖形:
? 點(diǎn)圖 geom="point"
? 平滑曲線 geom="smooth"
? 箱線圖 geom="boxplot"
? 任意方向的路徑性 geom="path"
? 線條圖 geom="line" (從左到右連接)
? 對(duì)于連續(xù)變量,直方圖 geom="histogram"
? 頻率多邊圖 geom="freqpoly"
? 繪制密度曲線 geom="density"
? 如果只有 x 參數(shù)傳遞給 qplot(), 那么默認(rèn)是直方圖
? 對(duì)于離散變量,geom=“bar” 繪制條形圖
# 添加擬合曲線 (灰色部分為標(biāo)準(zhǔn)誤差)
qplot(carat, price, data = data,
geom = c("point", "smooth"))
# 箱線圖
qplot(color, price/carat, data = data, geom = "boxplot")
# 繞動(dòng)圖(抖動(dòng)圖)
qplot(color, price/carat, data = data, geom = "jitter")
# 直方圖
qplot(carat, data=data, geom = "histogram", bins = 50)
# kde(密度曲線圖)
qplot(carat, data=data, geom = "density")
# 條形圖
qplot(color, data=data, geom = "bar")
# 時(shí)間序列線條圖,采用另一個(gè)數(shù)據(jù)集 economics
qplot(date, unemploy/pop, data = economics, geom = "line")
分面繪圖
facets:指定條件變量,創(chuàng)建一個(gè)柵欄圖。表達(dá)式如rowvar ~ colvar(示例見(jiàn)圖16-10)。為創(chuàng)建一個(gè)基于單條件變量的柵欄圖,可用rowvar ~ .或. ~ colvar
# 分面繪圖
qplot(carat, data = data, facets = color ~ .,
geom = "histogram", binwidth = 0.1, xlim = c(0, 3))

image.png
以上為 ggplot2 包中常見(jiàn)圖形的快速繪制 (quickplot) 即 qplot 函數(shù)的應(yīng)用。qplot 函數(shù)還有很多其他的參數(shù), 對(duì) xlim,ylim 設(shè)置 x,y 軸的區(qū)間例如 xlim=c(0,20); 對(duì)軸取 log 值,log="x", 對(duì) x 軸取對(duì)數(shù),log="xy" 表示對(duì) x 軸和 y 軸取對(duì)數(shù);main:圖形的主題 main=“qplot title”; #xlab,ylab: 設(shè)置軸標(biāo)簽文字。
qplot(carat, price, data = data,
xlab = "Price($)",
ylab = "Weight(carat)",
main = "Price-Weight relationship",
colour = color)

image.png