在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