2011-03-23 176 views
2

我是R的初學者,我有一個問題,需要您的幫助。使用ggplot在y軸上繪製多個變量

我有一個包含這樣的數據的文本文件:

A    C    G class  phylum  order 
-0.000187 -0.219166 1.693306 Chordata Monotremata Mammalia 
0.015664 -0.264506 1.482692 Chordata Batidoidimorpha Chondrichthyes  
-0.404323 0.219374 2.230190 Platyhelminthes Cyclophyllidea Cestoda 

但當然它有很多行。我想以這樣一種方式繪製這些數據,即所有類都繪製在x軸上,每個類都將A,C和G值繪製爲geom_point,並且這些點使用具有特定顏色取決於A,C或G. 我設法通過使用plot和par函數來完成此操作,但現在我想使用ggplot庫來完成此操作。

在此先感謝。

+0

你的問題不清楚。應該連接的線是什麼?是否應該爲每列有不同的行:A,C和G?如果您發佈您目前擁有的代碼以便人們翻譯,可能會有所幫助。另外,嘗試發佈一些其他人可以在R會話中使用的示例數據,例如'dput(head(x,10))'。如何將'phylum'和'order'放入圖中? – Chase 2011-03-24 00:43:08

回答

8

您的問題的細節有點不清楚,但在一個陰謀與ggplot圖形繪製多個變量的一般方法是melt()data.frame()第一。我沒有按照怎樣的點和線都應該適合你的圖形,但這裏是一個使用colour參數繪製列的方法ACG通過class在x軸:

library(ggplot2) 
library(reshape2) 

df <- data.frame(a = rnorm(10), c = rnorm(10), g = rnorm(10), class = sample(letters[20:23], 10, TRUE)) 
df.m <- melt(df) 
ggplot(df.m, aes(class, value, colour = variable)) + 
    geom_point()