【发布时间】:2021-04-22 19:51:58
【问题描述】:
我已经为此苦苦挣扎了好几个小时。我有以下脚本:
library(ggplot2)
sims = replicate(1000, sample(c(0,0,0,0,1,1,1,2,2,2), size=3, replace=FALSE))
df = data.frame(x=colSums(sims == 0),
y=colSums(sims == 1))
df$count <- 1
total_counts = aggregate(count ~ ., df, FUN = sum)
min_count = min(total_counts$count)
max_count = max(total_counts$count)
p = (ggplot(df, aes(x=x, y=y))
+ geom_count(aes(color=..n.., size=..n..), alpha=0.8)
+ guides(color = 'legend', size=FALSE)
+ labs(color='Count')
+ scale_colour_gradient(limits = c(min_count, max_count),
breaks = round(seq(min_count, max_count, length.out=5)),
labels = round(seq(min_count, max_count, length.out=5)))
+ scale_size_continuous(range = c(3, 7.5))
)
到目前为止一切顺利。问题是我想添加两组额外的点:
df2 = data.frame(x=c(0, 1, 2, 3),
y=c(1.5253165, 1.0291262, 0.4529617, 0))
df3 = data.frame(x=c(0, 1, 2, 3),
y=c(1.5, 1, 0.5, 0))
要得到这样的东西:
p2 = (p
+ geom_point(data=df2, aes(x=x, y=y), alpha=0.4, color="red", size = 2.5)
+ geom_point(data=df3, aes(x=x, y=y), alpha=0.4, color="green", size = 2.5)
)
问题是我无法将这些新点添加到图例中。我希望图例位于不同的“部分”中。即,有一个空字符串标题(以将这些点与“计数”标题区分开来),并在其标签中使用字符串而不是数字(例如,“模拟手段”和“理论手段”)。
有什么办法可以做到吗?
【问题讨论】:
-
df似乎没有定义。 -
@Peter 抱歉,我忘了粘贴部分代码。我已经修好了,谢谢