座標系是將兩種位置標度結合在一塊兒組成的2維定位系統。ggplot2包含了6種不一樣的座標系:函數
名字 | 描述 |
cartesian3d equalblog flipip trans字符串 mapit polario |
笛卡爾座標系table 同尺度笛卡爾座標系ast 翻轉的笛卡爾座標系class 變換的笛卡爾座標系 地圖射影 極座標系 |
座標系主要有兩大功能:
1.笛卡爾座標系
上表總前四種都是笛卡爾座標系:coord_cartesian,coord_equal,coord_flip,和coord_trans。coord_cartesian有兩個參數xlim和ylim。
> library(ggplot2) > p <- qplot(disp,wt,data=mtcars) + geom_smooth() > p > p + scale_x_continuous(limits=c(325,500)) > p+coord_cartesian(xlim=c(325,500))
左圖是完整的數據集,中爲x的標度範圍設置,右圖爲x軸座標系範圍設置。標度的範圍設置是對數據取子集,而後再從新擬合曲線。座標系的放縮就是圖像的放縮。
> d <- ggplot(diamonds,aes(carat,price)) + stat_bin2d(bins=25,colour="grey70") + theme(legend.position="none") > d > d + scale_x_continuous(limits=c(0,2)) > d + coord_cartesian(xlim=c(0,2)) >
左圖是完整的數據集,中間是標度設置x範圍,右圖是x軸座標系的範圍設置。比較方塊的大小,當設定標度範圍時,方塊的數目仍是相同的,只是覆蓋了更少數的區域,當設定座標系範圍時,方塊數目變少,但它們覆蓋的區域沒變。
2.座標軸翻轉
假如對y值條件下的x值感興趣,咱們能夠使用coord_flip調換x和y軸。
> qplot(displ,cty,data=mpg)+geom_smooth() > qplot(cty,displ,data=mpg)+geom_smooth() ##直接對座標屬性進行對換 > qplot(displ,cty,data=mpg)+geom_smooth()+coord_flip() ##使用翻轉函數
左圖是原散點圖相應的平滑曲線。中圖互換兩個屬性變量,平滑曲線擬合的是旋轉後的變量。右圖coord_flip擬合原始數據,而後再翻轉輸出結果,就變成是以y爲條件變量刻畫x的曲線了。
3.變換
coord_trans有x和y兩個參數供座標系使用,它們都是字符串,被稱做變換器。座標系層面的變換髮生再統計變換以後,會影響幾何形狀。咱們下面比較下在標度和座標系下的變換。
> qplot(carat,price,data=diamonds,log="xy")+geom_smooth(method="lm") > library(scales) > last_plot()+coord_trans(x = exp_trans(10),y=exp_trans(10))
左圖爲克拉和價格對數變換後的散點圖,直線爲迴歸曲線:log(y)=a+bXlog(x)。右圖將前面的圖變換回去,標度還原,所以線性趨勢變成指數形式,y=k X cx 。圖形很明顯地揭示了克拉大、價格貴地鑽石是很稀少地。
4.非笛卡爾座標系
非笛卡爾座標系有兩種:極座標和地圖投影。利用極座標可生成餅圖玫瑰圖等等,但因爲角度在小地半徑中比在大地半徑中更難被感知,所以極座標地視覺感官性並不佳。
> pie <- ggplot(mtcars,aes(x = factor(1),fill=factor(cyl))) + geom_bar() > pie ##堆疊條狀圖 > pie + coord_polar(theta="y") ##餅圖 > pie + coord_polar() ##牛眼圖