2014年9月9日 星期二

[R] 長條圖繪製

許多時候我們需要繪製長條圖,通常我們會使用Excel進行繪製,效果也相當不錯,不過撇開Excel時,你會使用R進行繪圖嗎?今天我們來學學如何用R進行繪圖。































程式碼

data=c(50,100,150);
names=c("A","B","C");
x=list("Groups",font=2,cex=1.5);
barplot(axisname=TRUE,space=0.5,ylim=c(0,200),names.arg=names,height=data,xlab=x)
mtext(text="Value",font=2,cex=1.5,side=2,line=2,las=3)
text(1,60,"c");
text(2.5,110,"b");
text(4,160,"a");

其實過程也只是區區幾行程式碼而已,沒有非常困難。
現在來說說各行的意思吧
data是資料變數,在此資料變數中存入三個數值,當然要幾個都可以。
names是組別名稱,以雙引號括住代表資料型態為文字。
x是文字變數,之後給barplot使用。另外寫出來是因為這樣可以設定屬性,font是字形,cex是大小。
barplot是今天的重點,axisname=TRUE顯示座標軸,space值是長條與長條間的間隔,ylim是設定y軸的兩邊端值,names.arg=names抓入各組的名稱,height=data高度值就是我們一開始的data,xlab是x軸的標籤,也可以改成xlab="Groups",但此時則不能設定屬性。
mtext是用於書寫繪圖區以外的文字使用,side是繪圖區的四方2為y軸位置,line是y軸向外的距離,las是文字旋轉。
text適用於繪圖區內的文字,括號內為x,y值給完後再給要書寫的文字。這裡的數值並非123是因為barplot的space有設定0.5,所以數值會有所改變。


PS. barplot中也可以使用ylab,但由於有時將圖片存出時會有裁切問題,可以直接取消ylab的使用,而使用mtext。

沒有留言:

張貼留言

有任何問題可以詢問,我們會盡量回答