假设我有mydf
一个数据框,如下所示:
姓名 | 价值 |
---|---|
标记 | 101 |
乔 | 121 |
账单 | 131 |
我将如何在 ggplot 中创建一个散点图,获取value
列中的数据(例如 101)并在图表上绘制该数量的点?这是stat =
我不熟悉的,还是我必须构建数据,例如 Mark 有 101 个唯一行,Joe 有 121 个,等等?
假设我有mydf
一个数据框,如下所示:
姓名 | 价值 |
---|---|
标记 | 101 |
乔 | 121 |
账单 | 131 |
我将如何在 ggplot 中创建一个散点图,获取value
列中的数据(例如 101)并在图表上绘制该数量的点?这是stat =
我不熟悉的,还是我必须构建数据,例如 Mark 有 101 个唯一行,Joe 有 121 个,等等?
更新:根据 Ben Bolker 的建议(非常感谢),我们可以设置geom_jitter
另外的宽度,我们可以添加一些颜色美学:
df %>%
group_by(Name) %>%
complete(Value = 1:Value) %>%
ggplot(aes(x=Name, y=Value, colour=Name))+
geom_jitter(width = 0.1)
或者 Henrik 建议的更紧凑(非常感谢)使用uncount
:
ggplot(uncount(df, Value, .id = "y"), aes(x = Name, y = y)) + ...
第一个答案: 像这样的东西?
library(dplyr)
library(ggplot2)
library(tidyr) # complete
df %>%
group_by(Name) %>%
complete(Value = 1:Value) %>%
ggplot(aes(x=Name, y=Value))+
geom_jitter()