在R中,组一般用分类变量的水平(因子)来定义,分组是经过ggplot2图将一个或者多个带有诸如形状、颜色、填充、尺寸和线类型的视觉特征的分组变量设置完成,ggplot()声明中的 aes() 函数负责分配变量,固然也适合分组,一般变量应该设在aes()函数内,分配常数应该在 aes() 函数外函数
Salaries数据集中,部分 变量解释spa
rs.since.phd(得到博士学位年数)code
rank(助理教授、副教授、教授)it
yrs.service(工龄)io
#查看薪水和校学术等级变化 data(Salaries,package = "car") library(ggplot2) ggplot(data=Salaries,aes(x=salary,fill=rank))+ #按照rank变量进行填充 geom_density(alpha=0.3) #设置透明度不遮盖彼此
#性别和学术等级分组,绘制得到博士学位年薪与薪水 #学术等级rank用点的颜色来表示,性别sex用点的形状来表示 > ggplot(Salaries,aes(x = yrs.since.phd,y=salary,color=rank,shape=sex))+ #color颜色按照rank变量,shape点形状按照sex + geom_point()
#分组条形图,学术等级和性别来可视化教授人数 > ggplot(Salaries,aes(x=rank,fill=sex)) + #如图1 + geom_bar(position = "stack") + #potition = "stack" 柱状图重叠 + labs(title='position = "stack"') > ggplot(Salaries,aes(x=rank,fill=sex)) + #如图2 + geom_bar(position = "dodge") + #potition = "dodge" 柱状图并排 + labs(title='position = "dodge"') #这种计算出来可是Y轴的标签是错的,经过labs(title="position = 'fill'",y="proportion")来修改 > ggplot(Salaries,aes(x=rank,fill=sex)) + #如图3 + geom_bar(position = "fill") + #potition = "fill" 垂直堆叠分组条形图并高度相等 + labs(title='position = "fill"')
图1变量
图2可视化
图3service