R數據可視化--ggplot2定位之座標系詳解

座標系是將兩種位置標度結合在一塊兒組成的2維定位系統。ggplot2包含了6種不一樣的座標系:函數

名字 描述

cartesian3d

equalblog

flipip

trans字符串

mapit

polario

笛卡爾座標系table

同尺度笛卡爾座標系ast

翻轉的笛卡爾座標系class

變換的笛卡爾座標系

地圖射影

極座標系

座標系主要有兩大功能:

  • 將2個位置圖形屬性組合起來在圖形中造成2維方位系統。位置圖形屬性分別被稱爲x和y,但將它們稱做位置1和位置2可能會更適合,由於圖形位置屬性的名字會隨着座標系的不一樣而不一樣。好比極座標系中將其稱做角度和半徑。
  • 配合分面,座標系將繪出座標軸和麪板背景。標度控制着座標上出現的數值,並將數據映射到圖形中的位置,而後經過座標系將它們繪製出來。

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()  ##牛眼圖

  

相關文章
相關標籤/搜索