2011-03-23 126 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()