[英]ggplot2 geom_dotplot() does not show all dots
我试图显示每个id
等于count
的点数,在以下 dataframe 中按name
拆分:
df <- data.frame(name = c("name1", "name1", "name1", "name1", "name2", "name2", "name2"),
id = c(0, 1, 2, 3, 0, 1, 2),
count = c(2, 4, 3, 2, 2, 2, 3))
我目前拥有的是这个。
ggplot(data = df, aes(x = name, y = id)) +
geom_dotplot(stackdir = "center", binaxis = 'y', dotsize = 0.5, binwidth = 1) +
scale_y_continuous(breaks = seq(0, 3, 1), minor_breaks = seq(0, 3, 1))
但是,这似乎并没有显示每个id
的所有点(它只显示每个id
的 1 个点,即使name1
的id
0 的计数为 2)。
我将如何解决这个问题?
我不知道将汇总数据传递给geom_dotplot()
的方法。 相反,您可以uncount()
它:
library(ggplot2)
library(tidyr)
df <- data.frame(name = c("name1", "name1", "name1", "name1", "name2", "name2", "name2"),
id = c(0, 1, 2, 3, 0, 1, 2),
count = c(2, 4, 3, 2, 2, 2, 3)) %>%
uncount(count)
ggplot(data = df, aes(x = name, y = id)) +
geom_dotplot(stackdir = "center", binaxis = 'y', dotsize = 0.5, binwidth = 1) +
scale_y_continuous(breaks = seq(0, 3, 1), minor_breaks = NULL)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.