这个问题在这里已有答案:
最近对ggplot2(2.2.0)的更新打破了我们的一些情节,因为绘制点的顺序已经改变 . 例如,以下代码:
library(dplyr)
library(ggplot2)
library(tibble)
df <- tribble(~a, ~x, ~y,
"I", "A", 2,
"I", "B", 3,
"II","A", 2,
"II","B", 3)
ggplot(df, aes(x = x, y = y, color = a)) +
geom_point(size = 5, position = position_dodge(width = 0.1))+
coord_cartesian(ylim = c(0,15))
在两个最新版本的ggplot2之间生成不同的版本,
注意点重叠顺序的差异(即新版本与顶部最左边的点重叠) . 我可以通过反转因子顺序来反转类别重叠的顺序:
library(dplyr)
library(ggplot2)
library(tibble)
library(forcats)
df <- tribble(~a, ~x, ~y,
"I", "A", 2,
"I", "B", 3,
"II","A", 2,
"II","B", 3)
ggplot(df, aes(x = x, y = y, color = fct_rev(a))) +
geom_point(size = 5, position = position_dodge(width = 0.1))+
coord_cartesian(ylim = c(0,15))
但这没有帮助,因为它现在也扭转了躲闪顺序 .
有没有人知道有什么方法可以重现以前的行为?是否可以手动反转绘制点的顺序而不改变它们被躲闪的顺序?
1 回答
Build 自己的位置躲避也不是很困难:
测试…