R手册(Visualise)--ggplot2

Overview

ggplot2 基于the grammar of graphics思想,通过数据集、几何对象和坐标系统建立图形。

所有的ggplot2绘图都以ggplot()开始, 默认由aes()将数据集映射至几何对象。在行尾+添加图层:几何,比例尺,坐标和面等。要将绘图保存,请使用ggsave()

完整的ggplot2图形包括:

  • ggplot(data,aes(...)): Create a new ggplot (required)
  • geom_<FUNC>(aes(...),data,stat,position): Geometric object (required)
    or stat_<FUNC>(aes(...),data,geom,position): Statistical transformation (required)
  • coord_<FUNC>(...): Coordinate systems
  • facet_<FUNC>(...): Facetting
  • scale_<FUNC>(...): Scales
  • theme_<FUNC>(...): Themes

data, aes参数可以在ggplot, geom_<FUNC>, stat_<FUNC>任一函数中加载

aes() 控制数据中的变量映射到几何图形。aes()映射可以在ggplot()geom图层中设置。常用参数:alpha, color, group, linetype, size

ggsave(filename, plot = last_plot(),path=NULL,width, height, units= c("in", "cm", "mm"))保存ggplot2图形,默认保存最后一个图

qplot(),quickplot(): Quick plot


Geoms

用geom函数表现图形,geom中的aes参数映射数据,每一个geom函数添加一个图层。

geom常用几何参数常量赋值
color/fillcolor/fill=NA 消除线条或填充
alpha0 <= alpha <= 1
linetype线条形式(1:6)
size点的尺寸和线的宽度
shape点的形状(0:25)

基本图形

函数参数说明
geom_blank()空白
geom_curve(aes(yend,xend,curvature))
geom_segment(aes(yend,xend))
x, xend, y, yend, alpha, angle, color, curvature(曲率), linetype, size, arrow曲线
线段
geom_path(lineend, linejoin, linemitre)x, y, alpha, color, group, linetype, size(x为分类变量时必须设置group=1)路径
geom_polygon(aes(group))x, y, alpha, color, fill, group, linetype, size多边形
geom_rect(aes(xmin, ymin, xmax, ymax))xmax, xmin, ymax, ymin, alpha, color, fill, linetype, size矩形
geom_ribbon(aes(ymin, ymax))x, ymax, ymin, alpha, color, fill, group, linetype, size丝带图
geom_abline(aes(intercept, slope))x, y, alpha, color, linetype, size斜线
geom_hline(aes(yintercept))x, y, alpha, color, linetype, size水平线
geom_vline(aes(xintercept))x, y, alpha, color, linetype, size垂直线
geom_segment(aes(yend, xend))x, y, alpha, color, linetype, size线段
geom_spoke(aes(angle, radius))x, y, alpha, color, linetype, size辐条
them_blank <- theme(axis.text=element_blank(),
                 axis.title = element_blank()
                 axis.ticks=element_blank())

p1=ggplot()+
  geom_spoke(aes(x=0,y=0,angle = 1:8, radius = 5))+
  them_blank+
  ggtitle('geom_spoke')
a <- ggplot(economics, aes(date, unemploy)) 
a + geom_ribbon(aes(ymin=unemploy - 900, ymax=unemploy + 900))+
  them_blank+
  ggtitle('geom_ribbon')
a + geom_path(lineend="butt", linejoin="round", linemitre=1)+
  them_blank+
  ggtitle('geom_path')

0

单变量

stat参数 : bin/count/identity

  • 若x为连续变量:stat= ”bin”
  • 若x离散变量:stat = “count”或stat = “identity”
continuous参数说明
geom_area()x, y, alpha, color, fill, linetype, size,stat={identity,bin}面积图
geom_density(kernel = “gaussian”)x, y, alpha, color, fill, group, linetype, size, weight, adjust=1/2(调整带宽倍率), stat={density,count,scaled (密度估计值)}核密度图
geom_dotplot()x, y, alpha, color, fill点状分布图
geom_freqpoly()x, y, alpha, color, group, linetype, size频率多边形(类似直方图)
geom_histogram(binwidth)x, y, alpha, color, fill, linetype, size, weight直方图
geom_qq(aes(sample))x, y, alpha, color, fill, linetype, size, weightqq图(检测正态分布)
discrete
geom_bar()x, alpha, color, fill, linetype, size, weight, stat={count,prop (分组比例)}柱状图
c <- ggplot(mpg, aes(hwy)); c2 <- ggplot(mpg) 
c + geom_density()+
  them_blank+
  ggtitle('geom_density')
c + geom_dotplot() +
  them_blank+
  ggtitle('geom_dotplot')
c + geom_freqpoly()+
  them_blank+
  ggtitle('geom_freqpoly')

1

双变量

continuous x
continuous y
参数说明
geom_jitter(height , width)x, y, alpha, color, fill, shape, size抖点图(避免重合),stat = “identity”
geom_point()x, y, alpha, color, fill, shape, size, stroke散点图stat = “identity”
geom_quantile()x, y, alpha, color, group, linetype, size, weight四分位图
geom_rug(sides)x, y, alpha, color, linetype, size,sides(地毯位置)地毯图
geom_smooth()x, y, alpha, color, fill, group, linetype, size, weight拟合曲线,自动计算变量:y/ymin/ymax/se(标准误)

geom_smooth(method = "auto", formula = y ~ x)

参数:
method: eg. “lm”, “glm”, “gam”, “loess”, “rlm”
formula :eg. y ~ x, y ~ poly(x, 2), y ~ log(x)
se : 是否绘制置信区间(默认为TRUE)
level : 用的置信区间水平(默认为95%)

if(!require(quantreg)) install.packages("quantreg")#四分位图必须的包
e <- ggplot(mpg, aes(cty, hwy))
e + geom_jitter(height = 2, width = 2)  +
  them_blank+
  ggtitle('geom_jitter')
e + geom_quantile() +
  them_blank+
  ggtitle('geom_quantile')
e + geom_smooth()+
  geom_rug(sides = "bl")+
  them_blank+
  ggtitle('geom_smooth')

2

两连续变量分布图参数说明
geom_density2d()x, y, alpha, colour, group, linetype, size, fill=…level…(自动计算变量)分布密度
geom_bin2d(binwidth)x, y, alpha, color, fill, linetype, size, weight矩形箱,stat = “bin2d”
geom_hex()x, y, alpha, colour, fill, size六角仓,stat = “binhex”
if(!require(hexbin)) install.packages("hexbin")#六角仓必须的包
df <- data.frame(x=rnorm(1000,0,100),y=rnorm(1000,10,50))

h <- ggplot(df, aes(x, y))
h + geom_bin2d() +
  them_blank+
  ggtitle('geom_bin2d')
h + geom_hex()+
  them_blank+
  ggtitle('geom_hex')
h + geom_density2d() +
  them_blank+
  ggtitle('geom_density2d')

h

两连续变量函数图参数说明
geom_area()x, y, alpha, color, fill, linetype, size面积图
geom_line()x, y, alpha, color, group, linetype, size折线图
geom_step(direction = “hv”)x, y, alpha, color, group, linetype, size阶梯图
recent <- economics[economics$date > as.Date("2013-01-01"), ]
p <- ggplot(recent, aes(date, unemploy))

p + geom_area() +
  them_blank+
  ggtitle('geom_area')
p + geom_line()+
  them_blank+
  ggtitle('geom_line')
p + geom_step(direction = "hv") +
  them_blank+
  ggtitle('geom_step')

10

discrete x
continuous y
参数说明
geom_col()x, y, alpha, color, fill, group, linetype, size柱状图
geom_boxplot()x, y, lower, middle, upper, ymax, ymin, alpha, color, fill, group, linetype, shape, size, weight, notch(是否缺口), width,outlier箱线图
geom_dotplot(binaxis = “y”, stackdir = “center”)x, y, alpha, color, fill, group点状分布图(不重合)
geom_violin(scale = “area”)x, y, alpha, color, fill, group, linetype, size, weight小提琴图
ggforce::geom_sina()点状小提琴图
p <-  ggplot(mpg, aes(class, hwy)) 

p +geom_col() +
  them_blank+
  ggtitle('geom_col')
p +geom_boxplot()+
  them_blank+
  ggtitle('geom_line')
p +geom_dotplot(binaxis = "y", stackdir = "center") +
  them_blank+
  ggtitle('geom_dotplot')
p +geom_violin(scale = "area")+
  them_blank+
  ggtitle('geom_violin')
p +ggforce::geom_sina()+
  them_blank+
  ggtitle('geom_sina')

11

discrete x
discrete y
参数说明
geom_count()x, y, alpha, color, fill, shape, size, stroke计数图
ggplot(diamonds, aes(cut, color))+
  geom_count()

12

三变量

函数参数说明
geom_contour(aes(z))x, y, z, alpha, colour, group, linetype, size, weight,bins(等高线数量),binwidth(等高线宽度)等高线图, …level…(轮廓高度,自动计算变量)
geom_raster(aes(fill))x,y,alpha,fill光栅(热力图)
geom_tile(aes(fill))x, y, alpha, color, fill, linetype, size, width瓦片(热力图)
p <-  ggplot(faithfuld, aes(waiting, eruptions))

p +geom_contour(aes(z = density)) +
  them_blank+
  ggtitle('geom_contour')
p +geom_raster(aes(fill = density), hjust=0.5, vjust=0.5, interpolate=FALSE) +
  them_blank+
  ggtitle('geom_raster')
p + geom_tile(aes(fill = density)) +
  them_blank+
  ggtitle('geom_tile')
p + geom_raster(aes(fill = density)) +
  geom_contour(aes(z = density),colour = "white")+
  them_blank+
  ggtitle('raster+contour') #图层顺序很重要

13

文本

函数参数说明
geom_text(aes(label), nudge_x, nudge_y, check_overlap = TRUE)x, y, label, alpha, angle, color, family, fontface, hjust, lineheight, size, vjust
geom_label(aes(label), nudge_x, nudge_y, check_overlap = TRUE)x, y, label, alpha, angle, color, family, fontface, hjust, lineheight, size, vjust有背景框

参数:
nudge_x, nudge_y: 微调
check_overlap:是否过重叠
vjust,hjust: 对齐方式(0:1)
angle: 角度
lineheight:行间距
family: 字体
size: 字体大小
fontface: 字体格式(1:4, plain标准,bold加粗,italic斜体,bold.italic)

ggrepel包 : 文字不重叠
ggrepel:: geom_label_repel()
ggrepel:: geom_text_repel()

df=data.frame(x=c(1,1,3),y=c(3,2,1),t=c('A','B','C'))

e=ggplot(df,aes(x,y))
e + geom_label(aes(label = t)) +
  them_blank+lims(x=c(0,5),y=c(0,5))+
  ggtitle('geom_label')
e + geom_text(aes(label = t)) +
  them_blank+lims(x=c(0,5),y=c(0,5))+
  ggtitle('geom_text')

e

误差可视化

函数参数说明
geom_crossbar(fatten)x, y, ymax, ymin, alpha, color, fill, group, linetype, size
geom_errorbar()x, ymax, ymin, alpha, color, group, linetype, size, width (also geom_errorbarh())
geom_linerange()x, ymin, ymax, alpha, color, group, linetype, size
geom_pointrange()x, y, ymin, ymax, alpha, color, fill, group, linetype, shape, size

aes(ymin,ymax) : ymin,ymax需要在aes参数内赋值

df <- data.frame(
  trt = factor(c('A', 'A', 'B', 'B')),
  resp = c(1, 5, 3, 4),
  group = factor(c(1, 2, 1, 2)),
  upper = c(1.1, 5.3, 3.3, 4.2),
  lower = c(0.8, 4.6, 2.4, 3.6)
)

dodge <- position_dodge(width=0.9) #位置微调
p <- ggplot(df, aes(trt, resp, fill = group,ymin = lower, ymax = upper))+
  geom_col(position = dodge)
  
p + geom_crossbar(fatten = 2,position = dodge) +
  ggtitle('geom_crossbar')
p + geom_errorbar(position = dodge, width = 0.25) +
  ggtitle('geom_errorbar')
p +geom_linerange(position = dodge) +
  ggtitle('geom_linerange')
p +geom_pointrange(position = dodge) +
  ggtitle('geom_pointrange')

14

地图

函数参数说明
geom_map(aes(map_id), map)map_id, alpha, color, fill, linetype, size地图

参数:
map_id:id/region
map: data.frame(x/long, y/lat, id/region) 或sp空间数据
Tips:
sf::st_read 读取sp或json文件
sf::st_transform 转换sf文件
地图素材:
矢量地图素材链接
shp数据地图:GitHub ,GADM
Json数据地图:阿里云, 百度Echarts

if(!require(maps)) install.packages("maps") # 载入地图包(版本过老)
data <- data.frame(murder = USArrests$Murder,state = tolower(rownames(USArrests)))

map <- maps::map_data("state")
ggplot(data, aes(fill = murder))+
  geom_map(aes(map_id = state), map = map) + 
  expand_limits(x = map$long, y = map$lat)

15


Stats

ggplot2还提供一种替代方案,建立一个图层用stat计算新变量 (e.g., count, prop)作图。

  • 改变geom函数的stat默认值,如geom_bar(stat="count")
  • 调用stat_<FUNC>,如 stat_count(geom="bar")
  • ..name..的语法格式,将stat计算变量映射到几何对象,如stat_density2d(aes(fill = ..level..), geom = "polygon")
函数参数计算变量说明
stat_bin(binwidth, origin)x, y…count…, …ncount…, …density…, …ndensity…
stat_count(width = 1)x, y…count…, …prop…
stat_density(adjust = 1, kernel = “gaussian")x, y…count…, …density…, …scaled…
------------------------
stat_bin_2d(bins, drop = TRUE)x, y, fill…count…, …density…
stat_bin_hex(bins)x, y, fill…count…, …density…
stat_density_2d(contour = TRUE, n = 100)x, y, color, size…level…
stat_ellipse(level, segments, type = “t”)计算正常置信度椭圆
------------------------
stat_contour(aes(z))x, y, z, order…level…
stat_summary_hex(aes(z), bins, fun = max)x, y, z, fill…value…六边形
stat_summary_2d(aes(z), bins, fun = mean)x, y, z, fill…value…矩形
stat_boxplot(coef)x, y…lower…, …middle…, …upper…, …width… , …ymin…, …ymax…
stat_ydensity(kernel = “gaussian”, scale = “area")x, y…density…, …scaled…, …count…, …n…, …violinwidth…, …width…
------------------------
stat_ecdf(n)x, y…x…, …y…计算经验累积分布
stat_quantile(quantiles = c(0.1, 0.9), formula = y ~ log(x), method = “rq”)x, y…quantile…
stat_smooth(method = “lm”, formula = y ~ x, se=T, level=0.95)x, y…se…, …x…, …y…, …ymin…, …ymax…
------------------------
stat_function(aes(x = -3:3), n = 99, fun = dnorm, args = list(sd=0.5))x…x…, …y…计算每个x值的函数
stat_identity(na.rm = TRUE)保持原样
stat_qq(aes(sample=1:100), dist = qt, dparam=list(df=5))sample, x, y…sample…, …theoretical…
stat_sum()x, y, size…n…, …prop…
stat_summary(fun.data = “mean_cl_boot”)将y值汇总在唯一x中
stat_summary_bin(fun.y = “mean”, geom = “bar”)将y值汇总在分箱x中
stat_unique()删除重复项
set.seed(1492)
df <- data.frame(
  x = rnorm(100)
)
ggplot(df, aes(x)) + geom_density()+
  stat_function(fun = dnorm, colour = "red")+
  ggtitle('density vs. function')

ggplot(faithful, aes(waiting, eruptions, color = eruptions > 3)) +
  geom_point() +
  stat_ellipse(type = "norm", linetype = 2) +
  stat_ellipse(type = "t")+
  ggtitle('stat_ellipse')

16

Scales

Scales传递数据给几何对象,改变图形的默认标尺。

p <- ggplot(mpg, aes(fl)) +
  geom_bar(aes(fill = fl))

p + scale_fill_manual( 
# scale: scale, fill: 几何对象, manual: 预处理的scale类型
  values = c("skyblue", "royalblue", "blue","navy"), #scale参数
  limits = c("d", "e", "p", "r"), #限制范围
  breaks =c("d", "e", "p", "r"), #breaks to use in legend/axis
  labels = c("D", "E", "P", "R"), #labels to use in legend/axis
  name = "fuel") #legend/axis 标题

常用标尺格式

type: color,size,fill,shape,linetype,alpha,etc

scale_<type>_continuous() #连续变量映射
scale_<type>_discrete() #离散变量映射
scale_<type>_identity() #原始数据直接映射
scale_<type>_manual(value=c(…)) #自定义值范围

坐标轴标尺

X & Y location scales说明
lims(x,y)/xlim()/ylim()
scale_x_continuous(breaks, labels,limits)刻度,标签,值的范围
scale_x_discrete(breaks, labels,limits)
scale_x_date(date_breaks , date_labels)日期间隔(“2 weeks”),日期显示格式(%m/%d
scale_x_datetime()时间日期,参数同date
scale_x_log10()log10 标尺
scale_x_reverse()x轴方向颠倒
scale_x_sqrt()

Color and fill scales

Continuous说明
scale_fill_distiller(palette = “Blues”)
scale_fill_gradient(low,high)渐变色调控
scale_fill_gradient2(low,mid,high,midpoint)2极渐变色
scale_fill_gradientn(values)n极渐变色
Discrete
scale_fill_hue()离散色阶
scale_fill_brewer(palette = “Blues”)调色板
scale_fill_grey(start, end)灰色调

调色板离散色阶palette选择:
RColorBrewer::display.brewer.all()
连续色阶选择:
Also: rainbow(), heat.colors(), terrain.colors(), cm.colors()
RColorBrewer::brewer.pal()

#离散色阶
p <- ggplot(mpg, aes(fl)) +
  geom_bar(aes(fill = fl))

p +scale_fill_brewer(palette = "Blues")+
  ggtitle('scale_fill_brewer')
p + scale_fill_grey(start = 0.2, end = 0.8,na.value = "red") +
  ggtitle('scale_fill_grey')

#连续色阶
p <- ggplot(mpg, aes(hwy))+ 
  geom_dotplot(aes(fill = ..x..))

p + scale_fill_distiller(palette = "Blues")  +
  ggtitle('scale_fill_distiller')
p + scale_fill_gradient(low="red", high="yellow")  +
  ggtitle('scale_fill_gradient')
p + scale_fill_gradient2(low="red", high="blue", mid = "white", midpoint = 25) +
  ggtitle('scale_fill_gradient2')
p +scale_fill_gradientn(colours=topo.colors(6)) +
  ggtitle('scale_fill_gradientn')

2

3

Shape and size scales

shape说明
scale_shape()形状
scale_shape_manual(values)
size
scale_size()大小
scale_radius(range)半径

shape:
shape

df <- data.frame(x=1:10,y=sample(1:10,10),
                 s1=rnorm(10),
                 s2=sample(1:4,10,replace = TRUE))
p <- ggplot(df, aes(x, y))+
  geom_point(aes(shape = factor(s2), size = s1, color=factor(s2)))
p + scale_shape_manual(values = c(3:7))
p + scale_radius(range = c(1,6)) 

Coordinate Systems

Coordinate Systems参数说明
coord_cartesian()xlim,ylim笛卡尔坐标(默认)
coord_fixed()radio,xlim,ylim具有固定纵横比的直角坐标
coord_flipxlim,ylimx和y翻转(笛卡尔坐标)
coord_polartheta, start, direction极坐标
coord_trans()xtrans, ytrans,xlim,ylim变换笛卡尔坐标系,xtrans, ytrans接收函数名
coord_quickmap()
coord_map(projection = “ortho”,orientation )
projection, orienztation, xlim, ylim地图投影 projections:{mercator (default), azequalarea, lagrange, etc.}
ggplot(mpg, aes(fl)) + them_blank+
  geom_bar()+
  coord_polar(theta = "x", direction=1)

world <- map_data("world")
worldmap <- ggplot(world, aes(x = long, y = lat, group = group)) +
  geom_path() +
  scale_y_continuous(breaks = (-2:2) * 30) +
  scale_x_continuous(breaks = (-4:4) * 45)
worldmap + coord_map("ortho", orientation = c(41, -74, 0))

4 5

Position Adjustments

Position adjustments 对geoms进行位置调整。

geom参数赋值字符串

字符串: identity,jitterdodge (同时闪避和抖动),nudge(微距点固定距离)

geomposition
geom_bar/aera/densitydodge(并排), stack/fill(堆叠)
geom_pointjitter(减少点重叠)
geom_labelnudge(轻推来自点的标签)

geom参数赋值position函数

position函数说明
position_dodge(width)抖动宽度(geom默认width=0.9,调用此函数时,width应设为0.9)
position_identity()不调整
position_jitter(width , height )
position_jitterdodge()
position_nudge(x = 0, y = 0)平移距离
position_stack(vjust = 1)对齐方式
position_fill(vjust = 1)
p <- ggplot(mpg, aes(fl, fill = drv))

p +  geom_bar(position = "dodge")+
  ggtitle('position = "dodge"')
p +  geom_bar(position = "fill")+
  ggtitle('position = "fill"')
p +   geom_bar(position = "stack")+
  ggtitle('position = "stack"')

6

Themes

theme(…)
设置主题包括title,axis,legend, panel, background,etc

主题函数说明
theme_bw(base_size,base_family)黑白主题
theme_grey()灰色主题(默认)
theme_dark()黑色主题
theme_void()空主题
theme_minimal()最小主题
ggtech::theme_tech()技术主题

控制theme元素函数(作为主题组件的参数出现):

元素函数说明
element_blank清空
element_rect(fill,color,size,linetype)边框和背景
element_text(family,face, color, size,hjust, vjust,angle,lineheight, margin, debug)文字,参数:lineheight(行高), margin(边缘), debug(是否矩形背景)
element_line(color,size,linetype,lineend,arrow)Line end style (round, butt, square),添加箭头: grid::arrow(angle,length,ends=“last”/“first”/“both”)

Faceting

刻面通过类别变量将图形分块显示。

刻面函数说明
facet_grid(var.row~var.col,scales,labeller)网格图,单变量时var.row或var.col用点填充
facet_wrap(~var+var,nrow,ncol,scales,labeller)将1d的面板卷成2d网格(nrow*ncol)
ggforce::facet_zoom(x, y, xy, split = FALSE, zoom.size = 2)子集zoom,x,y,xy 赋值(逻辑值):选取x轴,y轴,xy交叉子集
t <- ggplot(mpg, aes(cty, hwy)) + geom_point() 
t + facet_grid(year ~ fl)
 
# ggforce::facet_zoom
ggplot(iris, aes(Petal.Length, Petal.Width, colour = Species)) +
    geom_point() +
    ggforce::facet_zoom(x = Species == "versicolor")

79

**scales参数:**坐标刻度自由
“fixed”(default,坐标尺度统一), “free”(坐标尺度自由),“free_x”,“free_y”

labeller参数: 调整刻面标签
8

Annotations and Labels

Labels说明
ggtitle(label, subtitle = NULL)图标题
labs(x,y,title,subtitle,caption)x/y轴标题
xlab(label)/ylab(label)x/y轴标题
Annotations说明
annotate(geom,…)geom注释,其余参数为geom参数
annotate(“text”,x,y,label, parse=FALSE)文本注释
annotate(“pointrange”, x , y, ymin, ymax)
annotate(“rect”, xmin, xmax, ymin, ymax)矩形注释
annotate(“segment”,x, xend, y, yend, arrow)线段注释

文本注释参数parse:是否数学表达式, 更多公式语法可参考?plotmath
线段注释参数arrow: 添加箭头grid::arrow(angle,length,ends=”last” / ”first”/”both”)

Legends

theme(legend.position = "none"/"bottom"/"top"/"left"/"right") 在主题中设置 Legend
guides(…)设置legends几何组件:colorbar, legend, or none (no legend)

guide函数作为scale或guides()的参数设置
guide_colorbar(title,label…)连续型变量
guide_legend(title,label…)离散型变量

Vector helpers

函数说明
stats::recoder(x_char,x_num,order=FALSE)重排序,返回factor/ord.factor
cut_interval(x,n,length)n组有相同宽度的观测值
cut_number(x,n)n组有相同数量的观测值
cut_width(x,width,center,boundary, closed = c(“right”,“left”))

混合图

gridExtra包可以将多个ggplot2对象组合到一张图中

gridExtra::grid.arrange(plot1,plot2,…,nrow,ncol)

ggplot2 extensions

ggplot2 now has an official extension mechanism. This means that others can now easily create their own stats, geoms and positions, and provide them in other packages. This should allow the ggplot2 community to flourish, even as less development work happens in ggplot2 itself. This page showcases these extensions.

Contents 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Welcome to ggplot2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Other resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 What is the grammar of graphics? . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.4 How does ggplot2 fit in with other R graphics? . . . . . . . . . . . . . 4 1.5 About this book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.6 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.7 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2 Getting started with qplot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2 Datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.3 Basic use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4 Colour, size, shape and other aesthetic attributes . . . . . . . . . . . . 12 2.5 Plot geoms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.5.1 Adding a smoother to a plot . . . . . . . . . . . . . . . . . . . . . . . . 14 2.5.2 Boxplots and jittered points . . . . . . . . . . . . . . . . . . . . . . . . 16 2.5.3 Histogram and density plots . . . . . . . . . . . . . . . . . . . . . . . . 18 2.5.4 Bar charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.5.5 Time series with line and path plots . . . . . . . . . . . . . . . . . 20 2.6 Faceting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.7 Other options . . . . . . .
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值