条形图可能是所有图形里面最基本的图形了,虽然很简单,在R里面有些地方不注意,还是会很容易出错。
geom_bar()的基本参数情况
geom_bar(mapping = NULL, data = NULL, stat = "bin", position = "stack", width = NULL,...... )
#mapping 数据映射,更改映射默认值时使用
#data 数据集,更改映射数据集时使用
#stat 统计变换,这个参数使用频率相对较高
#position 位置调整,用于调整图层中重叠的点
#width 用于调整条形的宽度
下面来看些具体的例子:
p<-ggplot(mtcars,aes(factor(cyl)))
p+geom_bar()
此时主要,这里我用factor 使得变量cyl以离散变量的形式呈现,正常情况下x轴显示的是连续的区间。
另外,stat默认值为bin的情况下,是对数据进行计数
p+geom_bar(width=0.5)+coord_flip()
使用coord_flip() 调整条形的方向
p+geom_bar(width=0.6,aes(fill=factor(cyl)))
对数据条进行颜色填充
p+geom_bar(width=0.5,stat="identity",aes(,mpg))
如果x只是作为分类变量使用,同时一个y值的情况下,需要对stat 参数进行更改,把stat的值改成identity
此时的条形图的长短表示各分类对y值求和
p+geom_bar(width=0.5,aes(fill=factor(vs)))
也可以使用fill参数 做成堆叠效果
p+geom_bar(width=0.5,position="dodge",aes(fill=factor(vs)))
默认情况下position参数为stack,为堆叠效果,我们把参数值改为dodge,可以增强对比效果
p+geom_freqpoly(stat="count",aes(colour=vs,group=vs))
也可以把它做成线性频率图
p+geom_bar(width=0.5,aes(weight=vs))
以变量cyl为分类的情况下,vs各类的计数情况
以上图用的数据集mtcars,分类不是很多而且数据量比较少,换个数据量大并且分类相对较多的数据集,图的对比效果可能会更明显一些。