因此,我试图更改ggplot2中stat_ellipse生成的椭圆的线型(请参见此处https://raw.github.com/low-decarie/FAAV/master/r/stat-ellipse.R)。我可以很容易地手动设置颜色,但是我想给它一个线型向量,它会改变椭圆的线型。我试过在stat_ellipse()函数中设置线型,并分别与+ scale_linetype_manual一起设置,但是stat_ellipse函数中似乎只有一个线型值起作用,而scale_linetype_manual则不执行任何操作。任何建议表示赞赏!

基本代码和示例图片是

ggplot(data.df,aes(x = PC1,y =PC2, color = mapping$Description))+
  geom_point(size=5,aes(shape=factor(mapping$Status)))+
  stat_ellipse(aes(x = PC1,y=PC2,fill=factor(mapping$Description)),
    geom="polygon",level=0.8,alpha=0.2)+
  scale_fill_manual(values=c("red","red","green","blue","blue"))


映射$ ...只是因素。 PC1和PC2只是具有主要成分和数据的向量。df只是其中包含所有这些内容的数据帧。

最佳答案

可以通过以下方式更改线型:首先将线型指定为stat_ellipse的aes中的一个因素,然后按aosmith用户在注释中指出的scale_linetype_manual进行更改。

ggplot(data.df,aes(x = PC1,y =PC2, color = mapping$Description))+
  geom_point(size=5,aes(shape=factor(mapping$Status)))+
  stat_ellipse(aes(x = PC1,y=PC2,lty=factor(mapping$Status),fill=factor(mapping$Description)),
    geom="polygon",level=0.8,alpha=0.2)+
  scale_fill_manual(values=c("red","red","green","blue","blue"))+
  scale_linetype_manual(values=c(1,2,1,2,1))

关于r - 如何使用stat_ellipse更改ggplot2中椭圆的线型?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31295382/

10-11 17:23