我经常需要geom_path内部带有黑点.因此,我希望有一个新的geom_dotpath可以使用而不是调用
geom_path和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])
Run Code Online (Sandbox Code Playgroud)
最好的是,如果新功能可以使用为ggplot2生成明亮和暗色对,以自动找到更暗的颜色.
我不知道颜色选择,但定义一个全新的geom不应该是必要的.你应该能够编写一个返回相关层的函数:
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)
Run Code Online (Sandbox Code Playgroud)