在R / ggplot2中突出显示密度和小提琴图中的个体观察

时间:2015-04-29 15:20:01

标签: r ggplot2

我试图突出个人在密度图和小提琴情节中的位置。

例如,在下面的代码生成的图中,我想在mtcars数据集中突出显示“Mazda RX4”。这可以通过在每个类别中的单个观察值中添加一个点或条

#density plot
ggplot(data=mtcars,aes(x=drat))+
  geom_density() + facet_grid(cyl ~ .)

#violin plot
library(ggplot2)
ggplot(data=mtcars,aes(x=factor(cyl),y=drat, fill=factor(am)))+
  geom_violin() 

编辑: 1)基于@DatamineR回答下面我能够将所需的点(代码低于)添加到小提琴曲线中。

ggplot(data=mtcars,aes(x=factor(cyl),y=drat, fill=factor(am)))+ 
  geom_violin() + geom_point(data = mtcars[rownames(mtcars) == "Mazda RX4",])

但是,相同的+ geom_point()不适用于密度图。如何为密度图添加观察点?

2)另外,是否可以使用另一个标记,如线段或条形(垂直于分布的基线)而不是点?

1 个答案:

答案 0 :(得分:0)

在问题的第一部分尝试以下内容(添加到您的ggplot代码中):

geom_point(data = mtcars[rownames(mtcars) == "Mazda RX4",])

enter image description here

对于问题的第二部分,您可以尝试(添加到您的ggplot代码):

geom_point(data = mtcars[rownames(mtcars) == "Mazda RX4",], aes(y = 0))

enter image description here