2016-09-15 19 views
1

これは非常に基本的なプロットの質問かもしれませんが、多くの投稿を読んだ後でも解決できません。このデータの基本プロットを作成しました。列内の値に基づいて色の凡例を追加するR

ID ID_chr IVC10_BB_0048 IVC10_BB_0049 ....... 
mrna5.cds1 mal_mito_2 295.53 362.80 
mrna4.cds1 mal_mito_3 297.33 359.69 
mrna3.cds1 mal_mito_3 292.88 361.13 
mrna2.cds1 mal_mito_4 298.19 360.76 
mrna1.cds1 mal_mito_4 295.43 359.47 
mrna5.cds1 mal_mito_5 429.18 520.89 
mrna4.cds1 mal_mito 419.21 518.53 
mrna3.cds1 mal_mito 431.56 527.69 
mrna2.cds1 mal_mito 429.69 521.14 
mrna1.cds1 mal_mito 423.87 509.44 
mrna5.cds1 mal_mito 231.26 246.93 
mrna4.cds1 mal_mito 206.76 231.48 
mrna3.cds1 mal_mito 234.60 260.17 
mrna2.cds1 mal_mito 230.75 254.36 
mrna1.cds1 mal_mito 233.56 254.04 
mrna5.cds8 PF3D7_01 5.745 8.022 
mrna5.cds7 PF3D7_01 3.821 4.744 
mrna5.cds6 PF3D7_01 3.847 4.794 
mrna5.cds5 PF3D7_01 3.821 4.645 
mrna5.cds4 PF3D7_02 5.542 7.004 
mrna5.cds3 PF3D7_03 4.479 5.663 
mrna5.cds2 PF3D7_04 4.252 5.266 
     . 
. 

データには、約100カラムと20000ローがあります。 2番目の列には、mal_mito、PF3D7_01、PF3D7_02、PF3D7_03 ...など14種類の固有のカテゴリがあり、これらを基にしたプロットの値を色分けしています。

この図では、どの色がどの第2列の値に対応するかを示す色の凡例を追加しようとしています。私はページごとに3つのプロットを持つすべての列のラインプロットを含むpdfファイルを作成します。私はimage.plotを使用してみましたが、正しく取得することができません。ありがとう!

enter image description here

答えて

0

を参照してください。

#update 
par(mfrow =c(4,1)) 
for (i in seq(2,length(IVC_all),1))  
    plot(IVC_all[,i],ylab=names(IVC_all[i]),col=family,pch=19) 
#add 
unique.family <- unique(family) 
plot(0, 0, type = "n", bty = "n", xaxt = "n", yaxt = "n") 
legend("bottom", as.character(unique.family), 
     lwd=rep(2,length(unique.family)), 
     col=unique.family, horiz=TRUE) 
+0

これは完璧に動作します!どうもありがとう。伝説は、プロットの終わりに追加されています。私はpdfとして出力するとき、最後のページに〜100列あります。とにかくこれをすべてのページにプロットするのですか?私はループを正しく破る必要がありますか? – AnkP

1

使用legend()。下部に凡例を追加するために、あなたのコードを更新例に

# Generate data 
x = rnorm(1:10000) 

# Default palette() only contains 8 colors. 
library(RColorBrewer) 

# Plot, change `Spectral` to whatever you palette you want in `?brewer.pal` 
plot(x, col = rep(brewer.pal(10, "Spectral"), each = 1000)) 

# Manually add legend, you need to set the x, y coordinates. `legend` args are the labels, so you need something like `unique(IVC_all[,1])` 
legend(x = 1, y = 2, legend = c("hoho", "haha", paste(8:10)), col = brewer.pal(10, "Spectral"), lty = 1, cex = 1) 

enter image description here

+0

おかげVLO、私はプロットを取得することができるけど、プロットの色分類項目は今あります14以上の場合は、第2列の固有のカテゴリのみに固有の色が必要です。とにかくそれをライン/ヒストグラムスタイルのプロットに戻すこともあります。 type = "h"は現在動作していないようです。 – AnkP

関連する問題