Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何使用ggplot2在y轴上绘制多个变量?_R_Ggplot2 - Fatal编程技术网

R 如何使用ggplot2在y轴上绘制多个变量?

R 如何使用ggplot2在y轴上绘制多个变量?,r,ggplot2,R,Ggplot2,我有一个包含如下数据的文本文件: 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.2193

我有一个包含如下数据的文本文件:

   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_点,并且这些点使用一条线连接,该线具有特定的颜色,具体取决于a、C或G。
我设法通过使用绘图和PAR函数来实现这一点,但现在我想使用GGTRAP库来做。

< P>您的问题的细节有点不清楚,但是用代码< GGPrP> <代码>图形绘制一个图中的多个变量的一般方法是:<代码> MELTER()>代码>第一个>代码> DATA(框架)(< /代码>)。我没有遵循点和线应该如何适合您的图形,但这里有一种方法,它使用
color
参数通过
class
在x轴上绘制列
A
C
、和
G

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()
库(ggplot2)
图书馆(E2)

df我有一个类似的问题,我想策划

答案是,您需要一个新的列,可以将其设置为组交互。在这里,我创建了一个名为V1的列,它指定每个字母也属于哪个字母,然后使用
aes(group=interaction(variable.factor,new.factor)
。在本例中,“V1”列是任意的

  class variable       value V1
1      u        a  0.77041380  a
2      v        a  0.09461429  a
3      t        a  0.22704242  a
4      w        a -0.21501380  a
5      w        a -0.48246983  a
6      v        a  1.69609897  a
7      w        a -0.38847860  a
8      t        a  2.45669883  a
9      t        a  0.24774451  a
10     u        a  0.04195110  a
11     u        c  0.57444553  c
12     v        c  0.73172047  c
13     t        c -1.59409421  c
14     w        c -0.12679464  c
15     w        c  0.19424856  c
16     v        c -1.28742724  c
17     w        c -1.12103626  c
18     t        c -0.57090558  c
19     t        c  0.53798077  c
20     u        c -0.47777022  c
21     u        g -0.91249913  g
22     v        g -1.49256508  g
23     t        g -1.77449710  g
24     w        g  0.71426647  g
25     w        g  0.79678361  g
26     v        g -1.28814106  g
27     w        g -1.04701972  g
28     t        g  0.07309817  g
29     t        g  2.03606615  g
30     u        g  1.76030312  g
稍微修改上面的ggplot代码:

ggplot(df.m, aes(class, value, colour = variable, group = interaction(V1, variable))) +
  geom_point()+
  geom_line()
这会产生一条线,连接每个班级的每个字母(来自上面的答案)。(对不起,代表太低,请跟随链接)

如果要分隔线,请使用
position=position\u dodge()


这里的要点是,您需要
group=interaction()的一个因子
与x轴分开并跨越x轴。

您的问题不清楚。应该连接哪些行?每个列是否应该有不同的行:A、C和G?如果您发布您当前拥有的代码以便人们可以翻译,可能会有所帮助。此外,请尝试发布一些其他人可以在其搜索中使用的示例数据类似于
dput(头(x,10))
的离子。如果有的话,
顺序
如何符合图形?
ggplot(df.m, aes(class, value, colour = variable, group = interaction(V1, variable))) +
  geom_point(position = position_dodge(width = 0.2))+
  geom_line(position = position_dodge(width = 0.2))