使用ggplot2在x和y轴上绘制一个包含许多变量的图形

时间:2016-03-07 03:12:26

标签: r ggplot2

这是我的数据。

Localities  Variable1  Variable2  Variable3   Variable4
SNP              5        1          2            0
BNP              1        2          4            2
MWC              0        3          1            3

我已经使用reshape2包来合并数据。但我不知道我应该使用什么脚本。我想将局部性放在x轴上,将变量放在y轴上。我需要在这里融化两件事吗?至于变量,我也需要把它换成不同的颜色。我想把牛仔图。

这是我在绘制图表之前尝试过的。

Cv=c("Variables 1", "Variables 2", "Variables 3", "Variables 4"), ID=variables)

1 个答案:

答案 0 :(得分:0)

如果您使用reshape2 melt数据,则会看起来像

> library(reshape2)
> melt(df)
Using Localities as id variables
   Localities  variable value
1         SNP Variable1     5
2         BNP Variable1     1
3         MWC Variable1     0
4         SNP Variable2     1
5         BNP Variable2     2
6         MWC Variable2     3
7         SNP Variable3     2
8         BNP Variable3     4
9         MWC Variable3     1
10        SNP Variable4     0
11        BNP Variable4     2
12        MWC Variable4     3

使用这些列名称,您可以使用ggplot2绘制您喜欢的任何内容,因为您在一列中拥有所有值,因此您可以针对轴绘制它们。如果您愿意,可以使用variable列进行着色。一个非常简单的情节,与您的规格,使用闪避显示重叠点:

library(ggplot2)
ggplot(aes(Localities, value, colour = variable), data = melt(df)) + 
    geom_point(position = position_dodge(.1))

scatterplot