R plots
install.packages("ggplot2")
library(ggplot2)
set.seed(23) # 生成随机数的种子,相当于 python中的 random_state=1234 ?
data = diamonds[sample(nrow(diamonds), 1000),] # 逗号
head(data)
# 散点图,横轴克拉,纵轴价格
qplot(carat, price, data = data)
# 散点图,x, y 值取 log
qplot(log(carat), log(price), data = data)
# 颜色,大小,形状和其他属性设置
qplot(log(carat), log(price), data = data, colour = color)
# 以 cut 为分类依据,设置不同的形状
qplot(log(carat), log(price), data = data, colour = color, shape = cut)
qplot() 函数配合不同的几何对象便可绘制出不同的图形:
• 点图 geom="point"
• 平滑曲线 geom="smooth"
• 箱线图 geom="boxplot"
• 任意方向的路径性 geom="path"
• 线条图 geom="line" (从左到右连接)
• 对于连续变量,直方图 geom="histogram"
• 频率多边图 geom="freqpoly"
• 绘制密度曲线 geom="density"
• 如果只有 x 参数传递给 qplot(), 那么默认是直方图
• 对于离散变量,geom=“bar” 绘制条形图
# 添加拟合曲线 (灰色部分为标准误差)
qplot(carat, price, data = data,
geom = c("point", "smooth"))
# 箱线图
qplot(color, price/carat, data = data, geom = "boxplot")
# 绕动图(抖动图)
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")
# 时间序列线条图,采用另一个数据集 economics
qplot(date, unemploy/pop, data = economics, geom = "line")
分面绘图
facets:指定条件变量,创建一个栅栏图。表达式如rowvar ~ colvar(示例见图16-10)。为创建一个基于单条件变量的栅栏图,可用rowvar ~ .或. ~ colvar
# 分面绘图
qplot(carat, data = data, facets = color ~ .,
geom = "histogram", binwidth = 0.1, xlim = c(0, 3))
以上为 ggplot2 包中常见图形的快速绘制 (quickplot) 即 qplot 函数的应用。qplot 函数还有很多其他的参数, 对 xlim,ylim 设置 x,y 轴的区间例如 xlim=c(0,20); 对轴取 log 值,log="x", 对 x 轴取对数,log="xy" 表示对 x 轴和 y 轴取对数;main:图形的主题 main=“qplot title”; #xlab,ylab: 设置轴标签文字。
qplot(carat, price, data = data,
xlab = "Price($)",
ylab = "Weight(carat)",
main = "Price-Weight relationship",
colour = color)