1

我经常需要一个geom_path里面有黑点的。因此,我想有一个新geom_dotpath的可以用来代替调用 geom_pathand geom_point

LineColours <- brewer.pal(n=8,name="Paired")

ggplot() +
geom_path(data=mtcars, aes(x=mpg, y=qsec), size=1.5, colour=LineColours[3]) +
geom_point(data=mtcars, aes(x=mpg, y=qsec), size=1.5, colour=LineColours[4]) 

最好的情况是,如果新功能可以使用为 ggplot2 生成亮色和暗色对来自动找到较暗的颜色。

4

1 回答 1

5

我不知道颜色选择,但定义一个全新的几何图形应该不是真的必要。您应该能够只编写一个返回相关层的函数:

geom_dotpath <- function(data,x,y,pathCol,ptCol,...){
  p1 <- geom_path(data = data,aes_string(x = x,y = y),color = pathCol,...)
  p2 <- geom_point(data = data,aes_string(x = x,y = y),color = ptCol,...)
  list(p1,p2)
}

ggplot() + geom_dotpath(data = mtcars,
                        x = "mpg",
                        y = "qsec",
                        pathCol = LineColours[3],
                        ptCol = LineColours[4],
                        size = 1.5)
于 2012-12-12T03:05:35.707 回答