2013-03-13 84 views
-1

此代碼將在一個窗口中顯示幾個圖。由於每個圖是根據每列X1到X13生成的。所以我想給as a main添加一個數字,用來繪製這個圖的列的名字請看下面區分哪個是enter image description here如何爲R中的每個圖添加標題?

ref= read.table("D:\\AS_asc.txt", sep="",header=TRUE) 
sour1 = read.table("D:\\re.txt", sep="",header=TRUE) 
sour2= read.table("D:\\_asc.txt", sep="",header=TRUE) 
columns <- paste0("X", 1:13) 
par(mfrow=c(4,4)) 
lapply(
columns, 
function(column) 
    { 
    result1 <- (
    mean(ref[[column]]) - 
    ((sd(ref[[column]])/sd(sour1[[column]])) * mean(sour1[[column]])) + 
    ((sd(ref[[column]])/sd(sour1[[column]]) * sour1[[column]])) 
    ) # calculate using ref and sour1 
    result2 <- (( 
     mean(ref[[column]]) - 
     ((sd(ref[[column]])/sd(sour2[[column]], na.rm=TRUE)) * mean(sour2[[column]], na.rm=TRUE)) + 
    ((sd(ref[[column]])/sd(sour2[[column]], na.rm=TRUE) * sour2[[column]])) 
    )) # calculate using ref and sour2 
     plot(
    ref[[column]], 
    result1, 
    ylab = "[[column]]", 
    xlab = "[[column]]", 
    col = 2 
    ) 

    points(ref[[column]], ref[[column]], col = 'green') 
    points(ref[[column]], result2, col = 'blue') 
    } 
    ) 
+3

你就不能添加'主貼=(列)''你的情節()'命令裏面? – 2013-03-13 18:54:57

+3

因爲好奇心,你可能想要發佈一些虛擬數據,並且你會暴露於處理這些任務的ggplot2/lattice方式。警告:沒有回頭路。 – baptiste 2013-03-13 19:11:54

+0

除了@baptiste所說的之外,你還真想看看'ggplot2',特別是'facet_wrap'和'facet_grid'。刻面是用於創建繪圖網格的「ggplot2」專業術語,每個用於一個因子級別(分類變量)。 – 2013-03-13 21:13:52

回答

6

我敢肯定,你可以適應這個到你的代碼,但它是那樣簡單作爲添加main = paste(column)在您的劇情命令。

一個例子:

columns <- paste0("X" , 1:9) 
par(mfrow=c(3,3)) 
lapply(columns , function(column){ plot(1:10 , y = 1:10 , main = paste(column)) }) 

enter image description here

3

這是不是隻需要添加此行函數內部,或許points調用後:

title(main=column) 
相關問題