R 比例\颜色\布鲁尔(ggplot2)不会为所有线条上色
运行此ggplot2代码时:R 比例\颜色\布鲁尔(ggplot2)不会为所有线条上色,r,ggplot2,colors,R,Ggplot2,Colors,运行此ggplot2代码时: ggplot(canine_lower, aes(x=x, y=y, colour=Teeth)) + geom_smooth(method="lm", formula= y~poly(x,4), se=FALSE) + scale_color_grey(start=0.9, end=0.1) 我得到这个图要感谢比例\颜色\灰色函数: 所有牙齿组之间都有逐渐的灰色过渡(从1到16)。 不过,我想把它涂上颜色。出于这个原因,我雇用了scale_color
ggplot(canine_lower, aes(x=x, y=y, colour=Teeth)) +
geom_smooth(method="lm", formula= y~poly(x,4), se=FALSE) +
scale_color_grey(start=0.9, end=0.1)
我得到这个图要感谢比例\颜色\灰色函数:
所有牙齿组之间都有逐渐的灰色过渡(从1到16)。
不过,我想把它涂上颜色。出于这个原因,我雇用了scale_color_brewer,取得了部分成功。运行代码为:
ggplot(canine_lower, aes(x=x, y=y, colour=Teeth)) +
geom_smooth(method="lm", formula= y~poly(x,4), se=FALSE)+
scale_color_brewer(palette="Reds")
它提供了这个未完成的情节:
如上所示,从10到16没有颜色
如何使用此函数跨越颜色范围?是否有其他替代功能
我必须说,我尝试使用scale\u color\u gradient,但没有成功。brewer.pal(在包
RColorBrewer
中,scale\u color\u brewer
用于生成颜色的函数是9,用于顺序调色板。如果查看brewer.pal
的帮助,可以检查每个调色板类型的最大颜色数
您可以通过许多其他方式生成更大的调色板,如@NateDay所示的scale\u color\u viridis
,或者使用下面的两个示例,但是很难在图形中区分这么多不同的颜色
mtcars$rowname=rownames(mtcars)
ggplot(mtcars[1:16, ], aes(mpg, hp, color=rowname)) +
geom_point() +
scale_colour_manual(values=hcl(seq(0,360,length=17)[1:16], 100,65))
ggplot(mtcars[1:16, ], aes(mpg, hp, color=rowname)) +
geom_point() +
scale_colour_manual(values=hcl(0,100,seq(40,100,length=16)))
brewer.pal
(在包RColorBrewer
中)用于生成颜色的函数scale\u color\u brewer
的最大颜色数是9,用于顺序调色板。如果查看brewer.pal
的帮助,可以检查每个调色板类型的最大颜色数
您可以通过许多其他方式生成更大的调色板,如@NateDay所示的scale\u color\u viridis
,或者使用下面的两个示例,但是很难在图形中区分这么多不同的颜色
mtcars$rowname=rownames(mtcars)
ggplot(mtcars[1:16, ], aes(mpg, hp, color=rowname)) +
geom_point() +
scale_colour_manual(values=hcl(seq(0,360,length=17)[1:16], 100,65))
ggplot(mtcars[1:16, ], aes(mpg, hp, color=rowname)) +
geom_point() +
scale_colour_manual(values=hcl(0,100,seq(40,100,length=16)))
您可以使用
库(viridis)
作为替代:
# a reproducible example
mtcars <- add_rownames(mtcars)
ggplot(mtcars, aes(mpg, hp, color = rowname)) +
geom_point() +
viridis::scale_color_viridis(discrete = TRUE)
#一个可复制的示例
mtcars您可以使用库(viridis)
作为替代:
# a reproducible example
mtcars <- add_rownames(mtcars)
ggplot(mtcars, aes(mpg, hp, color = rowname)) +
geom_point() +
viridis::scale_color_viridis(discrete = TRUE)
#一个可复制的示例
mtcars感谢您快速而有益的回答。一切都明白了,比例、颜色和手动功能都非常好!谢谢你快速而有用的回答。一切都明白了,比例、颜色和手动功能都非常好!