2

假设我有mydf一个数据框,如下所示:

姓名 价值
标记 101
121
账单 131

我将如何在 ggplot 中创建一个散点图,获取value列中的数据(例如 101)并在图表上绘制该数量的点?这是stat = 我不熟悉的,还是我必须构建数据,例如 Mark 有 101 个唯一行,Joe 有 121 个,等等?

4

1 回答 1

3

更新:根据 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()

在此处输入图像描述

于 2022-01-13T17:13:47.893 回答