Вы можете показать оба, используя ggplot()
вместо qplot()
. Синтаксис может быть немного сложнее для понимания, но обычно вы можете сделать гораздо больше. Если вы хотите построить как прямоугольник, так и точки, вы можете написать:
boxpt <- ggplot(data = mtcars, aes(factor(cyl), mpg))
boxpt + geom_boxplot(aes(factor(cyl), mpg)) + geom_point(aes(factor(cyl), mpg))
Я не знаю, что вы имеете в виду, когда наносите на карту только определенные точки сверху, но если вы хотите дешевый (и, вероятно, не очень умный) способ просто показывать точки над краем рамки, вот она :
boxpt + geom_boxplot(aes(factor(cyl), mpg)) + geom_point(data = ddply(mtcars, .(cyl),summarise, mpg = mpg[mpg > quantile(mpg, 0.75)]), aes(factor(cyl), mpg))
По сути, это то же самое, за исключением того, что данные, поставляемые для geom_point
, настроены так, чтобы включать только числа миль на галлон в верхней четверти распределения по цилиндрам. В общем, я не уверен, что это хорошая практика, потому что я думаю, что люди ожидают увидеть точки за пределами только усов, но вы идете.