2016-11-05 2 views
-1

Iは、同じグラフ上で次の配列をプロットするRのbarplot機能を使用しようとしています:プロット整列barplots

ID 1 2 3 4 5 6 7 8 
HeL 0 2 1 4 2 3 2 4 
CaC 2 0 0 2 1 5 7 8 
NIH 1 2 5 6 3 5 7 9 

Iが独自のYを有する各列のbarplotを持っている必要がありますx軸はすべての行に共通でなければなりません。

dat <- read.table ("rna.tab", row.names=1, header=TRUE) 
barplot (as.matrix (dat[,1])) 
barplot (as.matrix (dat[,2])) 
barplot (as.matrix (dat[,3])) 

が、私は一緒にすべてをプロットすることに成功しませんでした:私は、これまで達成した何を、ファイル「rna.tab」から行列を読み、その後、個別に各列をプロットすることです。 ありがとうございます事前に アルテュロ

+0

'ライブラリ(tidyverse); (= ID、%= ID、%= ID)%>%ggplot(aes(var、val、fill = ID))+ geom_bar(stat = 'identity'、position = ' ) '? – alistaire

答えて

0

これはあなたが探しているものですか?それができない場合は、あなたが望むものを手動で作成して画像を投稿してください。

par(mfrow = c(ncol(dat),1), mar = c(2.5,4,1,1)) 
apply(dat, 2, barplot, beside = TRUE) 
par(mfrow = c(1,1)) 

最初pardatと1列の列があるとして、あなたはできるだけ多くの行を持つプロットのグリッドをしたいと言うと、プロットのマージンが適切であることに変わります。 apply関数は、eashカラムのバープロットをdatに、beside = TRUEをカラムの隣に配置します。次のparはプロットグリッドを1つのグラフにリセットするので、次にプロットする必要があるのは、小さなプロットを作っているだけではありません。

+0

ありがとうございます。しかし、最初の行を入力すると、エラーが発生します:par(mfrow = c(ncol(dat)、1)、mar = c(2.5,4,1,1))エラー:予期しない '、' in "par (mfrow = c((ncol(dat)、 " – Arturo

+0

、申し訳ありませんが、括弧が迷いました。 – Barker

0

ありがとうございました。あなたのところに戻ってくれることを躊躇して申し訳ありませんが、私はほぼ一週間病気でした。 あなたのコードは素晴らしいですが、唯一のことは、行ではなく列をプロットする必要があるからです。 apply(dat、1、barplot、beside = TRUE) この点についてはっきりしない。

最後に質問が1つあります。通常、私の実際の人生行列は6000 * 30です。つまり、私は30行をプロットする必要があります。 通常、私はディスクにイメージを保存します。私はこれを行うと

png ("plot.png") 
par(mfrow = c(ncol(dat),1), mar = c(2.5,4,1,1)) 
apply(dat, 1, barplot, beside = TRUE) 
dev.off() 

は、私ではなく、すべての行のプロットを、ファイル「plot.png」の最後の4行のみプロットを得ます。また、x軸はすべてのプロットで同じなので、最後にのみ描画することは可能でしょうか?

関連する問題