1 色彩和形狀的控制
數據特征不僅可以用坐標來表示,也可以用不同的色彩或形狀來表示。仍以mpg數據集為例,所用到的變量有cty(城市中行駛距離),hwy(高速路行駛距離),displ(排量大小),year(生產年份)
1 library(ggplot2) 2 p <- ggplot(mpg, aes(cty, hwy)) 3 p1 <- p + geom_point(aes(colour = factor(year),shape = factor(year), size = displ), alpha = 0.6, position = ‘jitter’) 4 print(p1)
我們將1999年生產車型用紅色圓形表示,2008年用蘭色三角形表示,排量用圖形的大小表示,並且設置了透明度和jitter以避免樣本點之間的重疊。可觀察到2008年生產的大排量車型較多,從而油耗較高,單位油耗行駛距離較短。
2 坐標的控制
上圖右上角數據點較為稀疏,這種情況下可用對數變換。為了演示ggplot2對圖形坐標的控制,我們對X軸和Y軸均進行對數變換,然后對X軸的坐標顯示加以限制,只顯示X軸數據的均值,以及一倍標准差的坐標。
1 cty.mean=with(mpg,mean(cty)) 2 cty.sd=with(mpg,sd(cty)) 3 p1 + scale_x_continuous(trans=’log’,breaks=c(cty.mean-cty.sd,cty.mean,cty.mean+cty.sd), labels=c(“high”, “mean”, “low”)) + scale_y_continuous(trans=’log’)
3 文字說明
利用geom_text函數可添加文字說明以增強圖形的可讀性
p <- ggplot(mtcars, aes(x=wt, y=mpg,colour=factor(cyl),label=rownames(mtcars)))
p + geom_text(hjust=0,vjust=-1,alpha=0.8)+ geom_point(size=3,aes(shape=factor(cyl)))
4 矩陣散點圖
ggplot2包中也提供了矩陣散點圖函數
1 plotmatrix(USArrests)+geom_smooth()