Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.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 使用双aes在GGplot中绘制ECDF图_R_Ggplot2_Aes_Ecdf - Fatal编程技术网

R 使用双aes在GGplot中绘制ECDF图

R 使用双aes在GGplot中绘制ECDF图,r,ggplot2,aes,ecdf,R,Ggplot2,Aes,Ecdf,我有点纠结于如何使用1个以上的aes获得ECDF(线和点组合在一起)图(可以是颜色,geom_线的线型或geom_点的形状)。 例如,我有这个代码 data<-mtcars data$cyl<-as.factor(data$cyl) data$am<-as.factor(data$am) ggplot(data,aes(qsec))+ geom_line(stat = "ecdf",aes(linetype=cyl))+

我有点纠结于如何使用1个以上的aes获得ECDF(线和点组合在一起)图(可以是颜色,
geom_线的线型
geom_点的形状
)。 例如,我有这个代码

data<-mtcars
  data$cyl<-as.factor(data$cyl)
  data$am<-as.factor(data$am)

    ggplot(data,aes(qsec))+
        geom_line(stat = "ecdf",aes(linetype=cyl))+
        geom_point(stat="ecdf",size=2,aes(shape=cyl))+
        labs(x="sample")+
        theme(axis.title.y = element_blank(),
              text = element_text(size = 11, family = "serif"))+
        scale_y_continuous(labels = function(x) paste0(sprintf("%1.0f", x*100),"%"))+
        scale_x_log10(breaks = trans_breaks("log10", function(x) 10^x),
                      labels = trans_format("log10", math_format(10^.x))
        )

data当您想要执行常见的简单统计转换时,ggplot中可以使用的各种统计数据非常有用,但如果您在这里尝试执行一些不寻常的操作(显示按一组分割的ECDF和按另一组分割的颜色),它们会使实现目标比传递实际想要绘制的数据更加困难:


数据您希望为stat和geom使用不同的映射。我不确定这是否可能。我会计算ggplot2之外的数据。谢谢罗兰。。。我很感激。。。所以我想要正常的ecdf图作为第一张图片,但是geom_点通过另一个aes显示不同的颜色。。。在这种情况下,我已经理解了这一点。我刚才解释了这对ggplot2意味着什么。我不知道您要实现的目标是否可能,因为我理解这一点,您计算的ECDF忽略了“am”类别,因为它是基于qsec的值计算的,而不考虑am(自动或手动)变量。如果在aes中重新引入“am”,那么正如您所说的,您正在基于分类变量重新计算。因此,这些点不会位于使用所有qsec值计算的直线上。如果你想让线条与点匹配,你也需要在线条中添加颜色。我非常感谢你。。。我设法实现了我想要的!伟大的但是我需要更多的时间来理解
做什么。打电话给
什么的。。。非常感谢!