R可视化绘图一ggplot2之qplot

ggplot2的基本概念
• 数据(Data)和映射(Mapping)
• 标度(Scale)
• 几何对象(Geometric)
• 统计变换(Statistics)
• 坐标系统(Coordinate)
• 图层(Layer)
• 分面(Facet)


散点图
library("ggplot2")
qplot(carat, price, data = diamonds)  #diamonds包含carat  cut color clarity depth table price    x    y    z
qplot(log(carat), log(price), data = diamonds)  #对数变换
qplot(carat, x * y * z, data = diamonds)   
set.seed(1410) # Make the sample reproducible
dsmall <- diamonds[sample(nrow(diamonds), 100), ]  #nrow行 sample简单抽样
qplot(carat, price, data = dsmall, colour = color) #显示颜色种类个数由数据列color种类数决定 eg一个数据有3种类型,这三种类型由不同颜色画出  相当于多条线
qplot(carat, price, data = dsmall, shape = cut) #shape几何形状 显示所有形状
qplot(carat, price, data = diamonds, alpha = I(1/10))#Alpha值透明度 越小越透明
qplot(carat, price, data = diamonds, alpha = I(1/100))
几何对象
 geom = “point” ,画散点图,当提供x,y时为缺省选项
 geom = “smooth” ,画平滑曲线及标准误
 geom = “ boxplot” ,画箱线图
 geom = “path” 或geom = “line” ,画连线
 geom = “histogram” ,画直方图,当只提供x时为缺省选项
 geom =“ freqpoly” ,画频率多边形
 geom = “density” ,画密度曲线
 geom = “bar” ,画柱形图
qplot(carat, price, data = dsmall, geom = c("point", "smooth"))
多项式拟合method = “loess” ,对于较小的n为缺省拟合方式(n<1000)弯曲程度取决于span 越小越弯
qplot(carat, price, data = dsmall, geom = c("point", "smooth"),span = 0.2)
qplot(carat, price, data = dsmall, geom = c("point", "smooth"),span = 1)
GAM拟合
qplot(carat, price, data = dsmall, geom = c("point", "smooth"),method = "gam",formula = y ~ s(x))
qplot(carat, price, data = dsmall, geom = c("point", "smooth"),method = "gam",formula = y ~ s(x, bs = "cs"))
箱线图
qplot(color, price / carat, data = diamonds, geom = "boxplot")
jitter图 类似直方图,但每个柱子里显示的都是属于他的散点
qplot(color, price / carat, data = diamonds, geom = "jitter")
qplot(color, price / carat, data = diamonds, geom = "jitter",alpha = I(1 / 5))
直方图
qplot(carat, data = diamonds, geom = "histogram")
设置直方图的区间
qplot(carat, data = diamonds, geom = "histogram", binwidth = 1,xlim = c(0,3))  #binwidth直方图柱子宽度 xlim限制x的范围在0-3
qplot(carat, data = diamonds, geom = "histogram", binwidth = 0.1,xlim = c(0,3))
qplot(carat, data = diamonds, geom = "histogram", binwidth = 0.01,xlim = c(0,3))
设置直方图色彩
qplot(carat, data = diamonds, geom = "histogram", fill = color)  #把一个柱子里不同种类的显示不同颜色   fill = I("blue")显示蓝色
密度曲线图
qplot(carat, data = diamonds, geom = "density")
qplot(carat, data = diamonds, geom = "density", colour = color)  
柱状图
qplot(color, data = diamonds, geom = "bar")
求和
qplot(color, data = diamonds, geom = "bar", weight = carat) +scale_y_continuous("carat")  #显示这种颜色的carat这列数据之和
economics数据集 date   pce    pop psavert uempmed unemploy
用连线图表现时间序列
qplot(date, unemploy / pop, data = economics, geom = "line")
路径表达方式
year <- function(x) as.POSIXlt(x)$year + 1900  #as.POSIXlt(x)读取的日期(字符串) 转化为 “Date” 类型数据
qplot(unemploy / pop, uempmed, data = economics,geom = c("point", "path"))
qplot(unemploy / pop, uempmed, data = economics,geom = "path", colour =year(date)) + scale_size_area()  #彩色路径
Facet图 分组画图 相当于groupby
qplot(carat, data = diamonds, facets = color ~ .,geom = "histogram", binwidth =0.1, xlim = c(0, 3))  #每种color的直方图
qplot(carat, price, data = dsmall, facets = color ~ .,geom = "point",xlim = c(0, 3))
其它选项
xlim, ylim   x轴y轴的范围  xlim = c(0, 3)
log   对数变换
qplot(carat, price, data = dsmall, log = "xy") #对xy轴同时进行对数变换
main   图的标题
xlab, ylab  x轴y轴的标题 
I() 设置某些具体值时使用  eg:I("blue")  I(1 / 5)


ggplot2函数(不是直接画图,产生的是对象)
Fuel economy数据集 mpg 
mpg  说明manufacturer制造商 model displ发动机排量 year cyl汽缸数  trans变速器自动或手动 drv cty英里/加仑 hwy公里/加仑 fl   class
散点图  
qplot(displ, hwy, data = mpg, colour = factor(cyl))  #不同气缸数的每加仑行驶的公里数与发动机排量关系的散点图  #
装饰属性 点 点的位置 点的大小 点的颜色
数据到装饰属性的映射(Mapping)displ映射到x坐标,hwy映射到y坐标,cyl映射到颜色
几何对象(geom)决定统计图的类型
常见的坐标系统包括直角坐标系,极坐标系,球面映射等
qplot(displ, hwy, data=mpg, facets = . ~ year) + geom_smooth()  #按照year变量分组 再进行统计变换~平滑曲线 增加图层Layers
总结:基于图层概念的绘图过程
Layer的组成
1 数据到装饰属性的映射  x y color
2 统计变换  
3 几何对象  geom
4 位置变换
Scale 标度
Coord 坐标系
Faceting  分组
layer函数: layer(geom, geom_params, stat, stat_params, data, mapping,position)
p <- ggplot(diamonds, aes(x = carat))  #ggplot(data, aes(x, y, <other aesthetics>))
p <- p + layer(
geom = "bar",
geom_params = list(fill = "steelblue"),
stat = "bin",    #bin按频数来统计
stat_params = list(binwidth = 2)

p
捷径函数
样例: geom_histogram(binwidth = 2, fill = "steelblue")   
函数名一般以“ geom_”或“ stat_”开头
参数: geom_XXX(mapping, data, ..., geom, position)或stat_XXX(mapping, data,
..., stat, position)
参数
 mapping:可选,指出到装饰属性的映射,通常使用aes( )函数
 data:可选,指出数据集,将覆盖ggplot函数中所指定的缺省数据集
 geom或stat:可选,可以用于覆盖指定geom的缺省stat,或覆盖指定stat的缺省
geom
 position:可选,用于指出调整重叠对象的方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值