繁体   English   中英

ggplot2 geom_dotplot() 不显示所有点

[英]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 个点,即使name1id 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM