R中的多个图

R中的多个图,r,R,我想在一帧中绘制两个图形。基本上我想比较一下结果 无论如何,我尝试的代码是: plot(male,pch=16,col="red") lines(male,pch=16,col="red") par(new=TRUE) plot(female,pch=16,col="green") lines(female,pch=16,col="green") 当我运行它时,我确实在一帧中得到两个绘图,但它改变了我的y轴。在下面添加了我的情节。无论如何,y轴的值是-4

我想在一帧中绘制两个图形。基本上我想比较一下结果

无论如何,我尝试的代码是:

    plot(male,pch=16,col="red")
    lines(male,pch=16,col="red")
    par(new=TRUE)
    plot(female,pch=16,col="green")
    lines(female,pch=16,col="green")
当我运行它时,我确实在一帧中得到两个绘图,但它改变了我的y轴。在下面添加了我的情节。无论如何,y轴的值是-4,-4,-3,-3,。。。 就像两个图都显示自己的轴一样

请帮忙


谢谢

您不需要第二个
绘图
。只用

> plot(male,pch=16,col="red")
> lines(male, pch=16, col = "red")
> lines(female, pch=16, col = "green")
> points(female, pch=16, col = "green")

注意:这将基于第一个数据集设置帧边界,因此第二个绘图中的一些数据可能位于绘图边界之外。您可以通过自己设置第一个绘图的限制来解决此问题。

您不需要第二个
绘图。只用

> plot(male,pch=16,col="red")
> lines(male, pch=16, col = "red")
> lines(female, pch=16, col = "green")
> points(female, pch=16, col = "green")

注意:这将基于第一个数据集设置帧边界,因此第二个绘图中的一些数据可能位于绘图边界之外。您可以通过自己设置第一个绘图的限制来解决此问题。

对于这种绘图,我通常更喜欢使用
ggplot2
进行绘图。主要原因:它可以很好地泛化到两行以上,而不需要大量代码

示例数据的缺点是它不能作为ggplot2所需的
data.frame
提供。此外,在任何情况下,您都需要一个x变量来进行绘图。因此,首先让我们用您的数据创建一个data.frame

dat <- data.frame(index=rep(1:10, 2), vals=c(male, female), group=rep(c('male', 'female'), each=10))
请注意,我的命令假定您每个都有10个数据值。该命令必须根据您的实际数据进行调整

现在我们可以使用ggplot2的强大功能:

library(ggplot2)
ggplot(dat, aes(x=index, y=vals, color=group)) + geom_point() + geom_line()
上面的调用有三个元素:
ggplot
初始化绘图,告诉R使用
dat
作为数据源并定义绘图美学,或者更好:绘图的美学属性(如颜色、位置、大小等)受数据影响。我们按照预期使用
x
y
-值,并进一步将
color
美学设置为分组变量,从而使ggplot自动绘制两个具有不同颜色的组。最后,我们添加了两个几何体,它们基本上完成了上面所写的工作:绘制线和绘制点

结果是:


如果您的数据以标准方式保存在R中(在data.frame中),则以一行代码结束。如果经过数千年的进化,你想添加另一种性别,那还是一行代码。

对于这种绘图,我通常更喜欢使用
ggplot2
绘图。主要原因:它可以很好地泛化到两行以上,而不需要大量代码

示例数据的缺点是它不能作为ggplot2所需的
data.frame
提供。此外,在任何情况下,您都需要一个x变量来进行绘图。因此,首先让我们用您的数据创建一个data.frame

dat <- data.frame(index=rep(1:10, 2), vals=c(male, female), group=rep(c('male', 'female'), each=10))
请注意,我的命令假定您每个都有10个数据值。该命令必须根据您的实际数据进行调整

现在我们可以使用ggplot2的强大功能:

library(ggplot2)
ggplot(dat, aes(x=index, y=vals, color=group)) + geom_point() + geom_line()
上面的调用有三个元素:
ggplot
初始化绘图,告诉R使用
dat
作为数据源并定义绘图美学,或者更好:绘图的美学属性(如颜色、位置、大小等)受数据影响。我们按照预期使用
x
y
-值,并进一步将
color
美学设置为分组变量,从而使ggplot自动绘制两个具有不同颜色的组。最后,我们添加了两个几何体,它们基本上完成了上面所写的工作:绘制线和绘制点

结果是:


如果您的数据以标准方式保存在R中(在data.frame中),则以一行代码结束。如果经过数千年的进化,你想添加另一种性别,那仍然是一行代码。

请提供数据,以便我们运行你的代码。制作任意随机向量。例如,将
ylim
添加到
plot
的两个调用中会起作用。请提供数据,以便我们可以运行您的代码。创建任意随机向量。例如,将
ylim
添加到
plot
的两个调用中就可以了。