我想基于与它们相关联的某个变量为geom_qq
(别名stat_qq
)分位数 - 分位数图中的点着色。
一个例子是基于mtcars$mpg
的值对mtcars$disp
的分位数 - 分位数图的点进行着色,我已经尝试过各种方式:
library(ggplot2)
pA = ggplot(mtcars) + geom_qq(aes(sample = mpg))
pB = ggplot(mtcars) + geom_qq(aes(sample = mpg, color=disp))
pC = ggplot(mtcars) + geom_qq(aes(sample = mpg, fill=disp), shape=21)
pD = ggplot(mtcars) + geom_qq(aes(sample = mpg, color=as.factor(disp)))
library(cowplot)
plot_grid(pA,pB,pC,pD,labels=LETTERS[1:4])
不幸的是,当mtcars$disp
被视为分类变量( D )时,这些点才会显示为彩色,在这种情况下,数据会产生几个系列的点,其中计算理论分位数分开(使他们的模式改变)。
我希望将mtcars $ disp视为一个连续变量来决定每个点的颜色,我可以手动完成:
manual_colors = colorRampPalette(c("blue","red"))(100)[as.numeric(cut(mtcars$disp,breaks=100))]
ggplot(mtcars) + geom_qq(aes(sample = mpg), color=manual_colors)
实现此结果的ggplot2语法是什么?
答案 0 :(得分:1)
>>> if True: break
SyntaxError: 'break' outside loop
似乎无法允许此操作。理论上,如果您可以从
while
到
geom_qq
它可能会起作用,但对我而言,最简单的尝试方法并不明显。
相反,我建议你自己计算一下这些值。这很简单。你可以使用这样的功能
data.frame(sample, theoretical)
然后你可以制作这样的情节
data.frame(sample, theoretical, data)