对于这种情节,我通常ggplot2
更喜欢这种情节。主要原因:它可以很好地推广到两行以上,而无需大量代码。
您的示例数据的缺点是它不能作为data.frame
ggplot2 所必需的 . 此外,在每种情况下,您都需要一个 x 变量来进行绘图。因此,首先让我们从您的数据中创建一个 data.frame。
dat <- data.frame(index=rep(1:10, 2), vals=c(male, female), group=rep(c('male', 'female'), each=10))
这给我们留下了
> dat
index vals group
1 1 -0.4334269341 male
2 2 0.8829902521 male
3 3 -0.6052638138 male
4 4 0.2270191965 male
5 5 3.5123679143 male
6 6 0.0615821014 male
7 7 3.6280155376 male
8 8 2.3508890457 male
9 9 2.9824432680 male
10 10 1.1938052833 male
11 1 1.3151289227 female
12 2 1.9956491556 female
13 3 0.8229389822 female
14 4 1.2062726250 female
15 5 0.6633392820 female
16 6 1.1331669670 female
17 7 -0.9002109636 female
18 8 3.2137052284 female
19 9 0.3113656610 female
20 10 1.4664434215 female
请注意,我的命令假设您每个有 10 个数据值。该命令必须根据您的实际数据进行调整。
现在我们可以使用 ggplot2 的强大功能:
library(ggplot2)
ggplot(dat, aes(x=index, y=vals, color=group)) + geom_point() + geom_line()
上面的调用包含三个元素:ggplot
初始化绘图,告诉 Rdat
用作数据源并定义绘图美学,或者更好:绘图的哪些美学属性(例如颜色、位置、大小等)受数据影响。我们按预期使用和 - 值,并将美学设置x
为分组变量 - 这使得 ggplot 自动绘制具有不同颜色的两个组。最后,我们添加了两个几何图形,它们几乎完成了上面写的操作:画线和画点。y
color
结果:
如果您将数据以标准方式保存在 R 中(在 data.frame 中),则以一行代码结束。如果经过几千年的进化,你想添加另一种性别,它仍然是一行代码。