ggplot2 座標系相關設定(coord)

來源:互聯網
上載者:User

標籤:

在ggplot中,未來更好的資料視覺效果效果,我們有時候可能要用到一些座標轉換的操作,比如要畫橫向橫條圖或者蜘蛛圖等。

coord_cartesian(xlim = NULL, ylim = NULL)

笛卡爾座標:從來看coord_cartesian的參數相對比較簡單,x和y的資料限定範圍

coord_flip(...)

橫向轉換座標:把x軸和y軸互換,沒有特殊參數

coord_trans(x = "identity", y = "identity", limx = NULL, limy = NULL)

座標形式轉換:包括對數轉換,平方根轉換等,這裡x和y 的值可以是log10,log2或squal等,另外兩個參數也是限定座標範圍

coord_equal(ratio=1, ...)

等座標轉換:使用這個函數後,x軸和y軸座標會被轉換成相等形式,此時圖形會產生較大的縮放,radio可以進一步調整縮放比例(x和y的比值)

coord_polar(theta = "x", start = 0, direction = 1)

極座標轉換:可以做出蜘蛛圖或餅圖的效果,參數方面theta 可以選擇x或y,表示外延的座標,start是座標開始的角度,預設其實位置是12點鐘,

direction 表示資料的方向,1是順時針,-1為逆時針。

 

下面我們來看些具體的例子:

library(ggplot2)p<-ggplot(mtcars,aes(mpg,hp))+geom_point(color="blue",size=2)p+coord_cartesian()

  

笛卡爾座標轉換和正常情況下畫圖的效果是一樣的。

p+coord_flip()

  

橫座標和縱座標進行了互換,用橫條圖看可能更明顯一些。

pp<-ggplot(mtcars,aes(cyl))+geom_bar(fill="blue",width=0.8)pp

  

pp+coord_flip()

  

p+coord_trans(x="log2",y="sqrt")

  

對座標軸進行對數和平方根轉換,在之前的scale設定中有提到過,相對scale設定而言,coord_trans的優勢在於可以對x和y 進行一次性轉換。

p+coord_equal()

  

 

正常情況下,如果直接對圖形進行coord_equal操作,最後可是效果一般都非常差,因為大多數時候x和y的資料基本都不相同而且差距可能也比較大,

相對的對ratio參數進行設定是比較明智的選擇。

p+coord_equal(ratio=0.08)

  

這張圖的效果,相對於上一張就好多了,當然你還可以對ritio參數進行進一步設定,達到更好的效果。

p+coord_polar(theta="x")

  

p+coord_polar(theta="y")

  

可以看出兩張圖最外圈座標的變化,是由theta參數的選擇來決定的。

pp+coord_polar(theta="x")

  

pp+coord_polar(theta="y")

  

使用條形同進行轉換的效果變成以上的樣子,圖形雖然炫酷,但可視性不如橫條圖,如果cyl在三個水平下資料條目是一樣的,畫出的結果就是一個餅圖。

這個方法是ggplot中用來實現餅圖的方式。

ggplot2 座標系相關設定(coord)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.