0

heatmap.2 を呼び出してヒートマップを生成する関数を wtire しようとしています。とりわけ、add.expr を呼び出してプロットのタイトルを生成したいと考えています。たとえば、次のようになります。

add.expr=c(mtext(text=titlestring, side=3, line=4, cex=1)

titlestring は、別の関数によって関数に渡される文字ベクトルです。

titlestring<-paste("Mean bin methylation",samplename, "on 5kb flanked CpG Island promoters in mm9")

関数を実行しようとすると、次のエラーが発生します。

as.graphicsAnnot(text) のエラー:オブジェクト'titlestring' が見つかりませprint()mtext()、だから私はタイトル文字列をas.expression(). しかし、私はまだこのエラーが発生します。

何が問題なのですか?

前もって感謝します

ドレフ・ラハット

4

2 に答える 2

0

この大騒ぎの価値はありませんが、理想的には、メインとサブのタイトルに異なるフォントサイズを設定し、それらの位置を制御できるようにしたいと考えています. たとえば、リテラルを使用して add.expr() でタイトルを追加した場合、これを行うことができます。

 heatmap.2 (as.matrix(matToPlot[,(1:totCols)]),
         Rowv=FALSE, Colv=FALSE, dendrogram="none", 
         breaks=seq(0,1,by=1/length(methColors)),
         col=methColors, trace="none",colsep=colsep,sepcolor=c("sky blue"),
         #main=paste(titlestring,subtitlestring,chromstring,sep="\n"),
         add.expr=c(mtext(text="Read coverage of Dox Plus on 5kb flanked CpG
          Island promoters in mm9", side=3, line=4, cex=1),
         mtext(text="Island set represents island for which ChIP data is avilable
          and is order by mean(H3K4me3)-mean(H3K27me3) within islands", side=3, line=2, cex=0.8),
         mtext(text="H3K27me3", side=1, adj=0.125, line=3),
         mtext(text="H3K4me3", side=1, adj=0.375, line=3),
         mtext(text="H3K4me1", side=1, adj=0.625, line=3),
         mtext(text="Methylation", side=1,adj=0.9, line=3))) 

一方、 main を使用すると、満足できる結果が得られますが、それほど良くはありません (これら 2 つのプロットを比較してください)。

add.expr を使用して生成されたプロット

main を使用して生成されたプロット

于 2015-02-25T15:56:16.347 に答える
0

主な質問が関数を使用してセカンダリ タイトルを追加することである場合は、main = c(titlestring, substring) を使用できます。この場合、ベクター文字列を好きなように変更できます。この例は mtcars セットから取られています (?heatmap を使用して見つけることができます)。

require(graphics) 
require(grDevices)

x  <- as.matrix(mtcars)
rc <- rainbow(nrow(x), start = 0, end = .3)
cc <- rainbow(ncol(x), start = 0, end = .3)

titlestring<-c("Mtcars dataset")
substring<-c("First example")
par(cex.main=0.9)
heatmap(x, Colv = NA, col = cm.colors(256), scale = "column",
    RowSideColors = rc, margins = c(5,10),
    xlab = "specification variables", ylab =  "Car Models",
    main = c(titlestring, substring))

ここに画像の説明を入力)

于 2015-02-25T14:40:51.720 に答える