ggplot2画图入门系列之二:图层节制与直方图
如前文所述,ggplot2利用图层将各类图形元素慢慢添加组合,从而形成最终功效。第一层必需是原始数据层,个中data参数节制数据来历,留意数据形式只能是数据框名目。aes参数节制了对哪些变量举办图形映射,以及映射方法,aes是Aesthetic的缩写。
下面我们来绘制一个直方图作为示例。数据集仍采纳mpg,对hwy变量绘制直方图。首先加载了扩展包,然后用ggplot函数成立了第一层,hwy数据映射到X轴上;利用+号增加了第二层,即直方图工具层。此时p被视为一种层工具,利用summary函数可获得关于它的更多信息,print(p)呼吁即可举办画图。
library(ggplot2)
p <- ggplot(data = mpg,aes(x = hwy))
p <- p + geom_histogram()
summary(p)
data: manufacturer, model, displ, year, cyl, trans,
drv, cty, hwy, fl, class [234×11]
mapping: x = hwy
faceting: facet_grid(. ~ ., FALSE)
———————————–
geom_histogram:
stat_bin:
position_stack: (width = NULL, height = NULL)
上面的信息汇报我们,p工具含有两层,第一层数据层描写了变量和映射方法,第二层是直方图工具(geom_histogram),geom暗示几许工具,它是ggplot中重要的图层节制工具,因为它认真求形渲染的范例。geom_histogram是图形渲染范例的一种,其它范例可拜见官网。
每个geom工具都需要有数据输入,数据可以从第一层中自动读取,也可以在aes参数中直接配置。并且每个geom还默认搭配某种统计调动(stat),geom_histogram的默认统计调动是stat_bin。它认真对数据举办分组计数。
下面我们实验两种更为巨大的直方图,首先将数据凭据year这个变量分别为两组,用差异的颜色绘制直方图,并且用频率而非计数来刻画Y轴,并添加密度曲线。
p <- ggplot(mpg,aes(hwy))
p + geom_histogram(position = ‘identity’,
alpha=0.5,
aes(y = ..density..,
fill = factor(year))) +
stat_density(geom = ‘line’,
position = ‘identity’,
aes(colour = factor(year)))
假如想将两个直方图分隔绘制,也可以利用facet_grid参数,功效如下图所示。
另:在win系统顶用ggplot2绘制直方图,其底部有丢脸的缺口。但在Linux系统中正常,不知原因安在,望知恋人士不惜见教。