我在类似的问题上看了几篇帖子,但找不到合适的解决方案。由于我的数据中的count
(下面的可重复示例)有重复,我需要在彼此的侧面打印重叠点。人们正在使用position_dodge
,但不知何故,以下示例对我不起作用。
library('ggplot2')
myData = data.frame(split = c(rep('a',10), rep('b',10)), count = c(20,27,21,20,24,23,21,25,22,22,35,37,32,32,32,32,31,33,32,31))
p = ggplot(myData, aes(split, count)) + geom_point(aes(colour=split), position=position_dodge(width=0.3))
p
#Getting the warning
ymax not defined: adjusting position using y instead
答案 0 :(得分:3)
在这种情况下,您需要position_jitter()
不要躲闪。
ggplot(myData, aes(split, count)) + geom_point(aes(colour=split),
position=position_jitter(width=0.3))
其他替代方法是使用geom_dotplot()
。
ggplot(myData, aes(split, count)) +
geom_dotplot(aes(fill=split),binaxis = "y",stackdir="center")
答案 1 :(得分:0)
只是提到要专门解决'ymax not defined'消息,你可以改变你的主要ggplot审美:
ggplot(myData, aes(split, count,ymax=max(count)*1.05))
这会照顾它。如果你想要的话,乘以1.05就可以为注释提供一些喘息空间。