Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何在ggplot2中按组获取彩色点图?_R_Ggplot2 - Fatal编程技术网

R 如何在ggplot2中按组获取彩色点图?

R 如何在ggplot2中按组获取彩色点图?,r,ggplot2,R,Ggplot2,我无法用这些数据为分组点图着色(奇怪的是,我无法用ggplot2附带的一个数据集重现问题,因此我为额外的步骤道歉) 数据EDIT2似乎这个问题也得到了解决。我已将该问题标记为本文的副本 直接在geom_dotplot中使用fill似乎有效: data$Period <- as.factor(data$Period) g <- ggplot(data, aes(x = Period, y = Rate, fill = Subject, group = Period)) g + geom

我无法用这些数据为分组点图着色(奇怪的是,我无法用
ggplot2
附带的一个数据集重现问题,因此我为额外的步骤道歉)


数据EDIT2似乎这个问题也得到了解决。我已将该问题标记为本文的副本

直接在
geom_dotplot
中使用
fill
似乎有效:

data$Period <- as.factor(data$Period)
g <- ggplot(data, aes(x = Period, y = Rate, fill = Subject, group = Period))
g + geom_dotplot(binwidth = 1, binaxis = "y", stackdir = "center", 
                 fill = data$Subject)


是这样吗?

试试
geom\u抖动

g + geom_jitter(binwidth = 1, binaxis = "y", stackdir = "center", aes(group = Subject, color = Subject), size = 4)

您只需删除
group=Period
是,但如果没有
group=Period
,它就不是一个真正的点图–它们都重叠。请参阅更新的问题。
position=“dodge”
帮助吗?嗯,是的,但随后图例消失了(颜色必须手动着色,对吗?)我只是不明白在这种情况下,为什么
geom\u dotplot
不尊重
fill=Subject
美学映射,据文件所述,它应该理解:@maxhold the
position=“dodge”
然后似乎做了这个把戏?我已经编辑了我的答案。这就是你想要的吗?@maxhold我已经把这个问题标记为“希望的复制品”,这似乎是一个bug。是的,我也试过了,谢谢——非常接近,但不是一个真正的点图。我只是不明白为什么
geom_dotplot
在这种情况下不接受
fill=Subject
美学映射,尽管有文档记录这样做。
ggplot(data, aes(x = factor(Period), y = Rate, fill = factor(Subject))) +
  geom_dotplot(binaxis = "y", stackdir = "center", position = "dodge", binwidth = 2)
g + geom_jitter(binwidth = 1, binaxis = "y", stackdir = "center", aes(group = Subject, color = Subject), size = 4)