我有这个地图:
ggplot(mpg, aes(drv, hwy)) +
geom_dotplot(binwidth = 1, binaxis = 'y', stackdir = 'center')
呈现为
我想按制造商给点滴颜色。如果我添加fill
美学:
ggplot(mpg, aes(drv, hwy, fill = manufacturer)) +
geom_dotplot(binwidth = 1, binaxis = 'y', stackdir = 'center')
它呈现为
看起来添加颜色已经以某种方式击败了堆叠算法,导致点重叠。我该如何解决这个问题?
答案 0 :(得分:3)
使用包 ggbeeswarm 中的geom_beeswarm
是一个选项。它没有以相同的方式使偶数行的点居中,但点颜色似乎比geom_dotplot
更好。
library(ggbeeswarm)
ggplot(mpg, aes(drv, hwy, color = manufacturer)) +
geom_beeswarm(size = 2)
答案 1 :(得分:1)
这是我最接近的:
ggplot(mpg, aes(drv, hwy, fill = manufacturer)) +
geom_dotplot(stackdir = "centerwhole",stackgroups = TRUE,
binpositions = "all", binaxis = "y", binwidth = 1)+
theme_bw()
如果您需要完全集中所有内容,我会审核this example编写for
循环以使用共享图例绘制三个单独的图表(每个因子级别一个)。
这是使用函数将三个图表与相同图例组合在一起的链接过程之后的图表: