ggplot2 座標系相關設定(coord)

2022-08-05 07:36:08 字數 2253 閱讀 1852

在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為逆時針。

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

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

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

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

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

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

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

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

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

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

R語言 ggplot2 分面相關設定(facet)

分面設定在ggplot2應該也是要經常用到的一項畫圖內容,在資料對比以及分類顯示上有著極為重要的作用,下面是兩個經常要用到的分面函式。facet wrap facets,nrow null,ncol null,scales fixed shrink true,as.table true,drop t...

cocos2d x學習筆記(2) 座標系

座標系是非常基礎的概念,如果連座標系都搞不太清楚的話,開發起來就真的無從下手了,借鑑知易教程寫一篇關於座標系的日記。一般意義上的座標系是說笛卡爾座標系,相信大家都學過。但是不同的圖形庫採用不同的座標系。iphone平台提供了兩種會相簿 quartz 2d和opengl es。其中quartz 2d是...

OpenGL ES 2 0座標系設定與頂點轉換

前面我們對使用android opengl es 2.0繪圖做過綜述。對於剛剛接觸到opengl的人來說,紋理和貼圖往往令其感動很頭疼。在解開這些謎團之前,我們先來了解一下繪製圖形的基礎 座標系。在使用opengl的場景中,存在世界座標 區域性座標 紋理座標和螢幕座標幾種。分為3個軸,x,y,z 中...