天天看點

R語言筆記 plot 畫圖

plot()是R中為對象作圖的一個泛型函數(它的輸出将根據所繪制對象類型的不同而變化)。

本例中,plot(x, y, type="b")将x置于橫軸,将y置于縱軸,繪制點集(x, y),然後使用線段

将其連接配接。選項type="b"表示同時繪制點和線。使用help(plot)可以檢視其他選項。結果如

圖3-2所示。

> dose <- c(20,30,40,45,60)

> drugA <-c(16,20,27,40,60)

> drugB <-c(15,18,25,31,40)

> plot(dose,drugA)

> plot(dose,drugA,type="b")

type 類型 

what type of plot should be drawn. Possible types are

  • "p"

     for points,
  • "l"

     for lines,
  • "b"

     for both,
  • "c"

     for the lines part alone of 

    "b"

    ,
  • "o"

     for both ‘overplotted’,
  • "h"

     for ‘histogram’ like (or ‘high-density’) vertical lines,
  • "s"

     for stair steps,
  • "S"

     for other steps, see ‘Details’ below,
  • "n"

     for no plotting.

> plot(dose,drugA,type="b",cex=2,lty=2,pch=18,lwd=2)

pch 指定繪制點時使用的符号(0......24種)

cex 指定符号的大小。cex是一個數值,表示繪圖符号相對于預設大小的縮放倍數。預設大小

為1,1.5表示放大為預設值的1.5倍,0.5表示縮小為預設值的50%,等等

lty 指定線條類型 (1,2,3,4,5,6,7)

lwd 指定線條寬度。lwd是以預設值的相對大小來表示的(預設值為1)。例如,lwd=2将生

成一條兩倍于預設寬度的線條

你還可以指定邊界顔色(col=)和填充色(bg=)。

--------------顔色--------------

col 預設的繪圖顔色。某些函數(如lines和pie)可以接受一個含有顔色值的向量

并自動循環使用。例如,如果設定col=c("red", "blue")并需要繪制三條線,

則第一條線将為紅色,第二條線為藍色,第三條線又将為紅色

col.axis 坐标軸刻度文字的顔色

col.lab 坐标軸标簽(名稱)的顔色

col.main 标題顔色

col.sub 副标題顔色

fg 圖形的前景色

bg 圖形的背景色

在R中,可以通過顔色下标、顔色名稱、十六進制的顔色值、RGB值或HSV值來指定顔色。

舉例來說,col=1、col="white"、col="#FFFFFF"、col=rgb(1,1,1)和col=hsv(0,0,1)

都是表示白色的等價方式。函數rgb()可基于紅—綠—藍三色值生成顔色,而hsv()則基于色相—

飽和度—亮度值來生成顔色。請參考這些函數的幫助以了解更多細節。

函數colors()可以傳回所有可用顔色的名稱。Earl F. Glynn為R中的色彩建立了一個優秀的

線上圖表,參見http://research.stowers-institute.org/efg/R/Color/Chart。R中也有多種用于建立連續

型顔色向量的函數,包括rainbow()、heat.colors()、terrain.colors()、topo.colors()

以及cm.colors()。舉例來說,rainbow(10)可以生成10種連續的“彩虹型”顔色。多階灰階

色可使用gray()函數生成。這時要通過一個元素值為0和1之間的向量來指定各顔色的灰階。

gray(0:10/10)将生成10階灰階色

> n=10

> mycolors<-rainbow(n)

> pie(rep(1,n),lables=mycolors,col=mycolors)

> mygrays<-gray(1:n/n)

> dev.new()

> pie(rep(1,n),lables=mygrays,col=mygrays)

------文本屬性----

cex 表示相對于預設大小縮放倍數的數值。預設大小為1,1.5表示放大為預設值的1.5

倍,0.5表示縮小為預設值的50%,等等

cex.axis 坐标軸刻度文字的縮放倍數。類似于cex

cex.lab 坐标軸标簽(名稱)的縮放倍數。類似于cex

cex.main 标題的縮放倍數。類似于cex

cex.sub 副标題的縮放倍數。類似于cex

font 整數。用于指定繪圖使用的字型樣式。1=正常,2=粗體,3=斜體,4=粗斜體,5=

符号字型(以Adobe符号編碼表示)

font.axis 坐标軸刻度文字的字型樣式

font.lab 坐标軸标簽(名稱)的字型樣式

font.main 标題的字型樣式

font.sub 副标題的字型樣式

ps 字型磅值(1磅約為1/72英寸)。文本的最終大小為 ps*cex

family 繪制文本時使用的字型族。标準的取值為serif(襯線)、sans(無襯線)和mono

(等寬)

----------邊界--------

pin 以英寸表示的圖形尺寸(寬和高)

mai 以數值向量表示的邊界大小,順序為“下、左、上、右”,機關為英寸

mar 以數值向量表示的邊界大小,順序為“下、左、上、右”,機關為英分*。預設值為c(5, 4, 4, 2) + 0.1

-----------添加 文本 坐标軸----

除了圖形參數,許多進階繪圖函數(例如plot、hist、boxplot)也允許自行設定坐标軸

和文本标注選項。舉例來說,以下代碼在圖形上添加了标題(main)、副标題(sub)、坐标軸标