r - 无论R中有多少,如何将图中的所有因素设置为相同的颜色?
问题描述
我有一个带有 geom_area() 部分的图,它显示了在模拟的某个步骤中事件是否处于活动状态(感谢这个社区也帮助我!)。
当我只显示一次模拟运行时,它运行良好,但是我需要能够一次显示多个运行,以查看此事件在不同运行中的时间之间的任何差异。
我将 geom_area() 的填充设置为与运行编号相对应,并将位置设置为 position_dodge(0) 以便能够与区域重叠,这样颜色越浓,在该点上有活动的运行就越多。唯一的问题是我对区分运行不感兴趣,所以我希望它们都具有相同的颜色。通过简单地制作一个灰色 10 次的调色板,我设法做到了这一点,但这不是我可以手动完成的事情,因为我很快就会有 100 次运行的图表。
无论有多少,我怎样才能使所有因素都具有相同的颜色?或者,如果有更好的解决方案来显示如下图,它是什么?
包括我到目前为止管理的情节(这正是我需要的,只能扩展)和我用来制作它的代码:
ggplot(df,aes(x = step, y = count)) +
geom_area(data = event, aes(x = step, y = pop_size * event, fill = as.factor(run_num)),
inherit.aes = FALSE, position = position_dodge(0), alpha = 0.2, show.legend = FALSE) +
geom_point(aes(color = breed), alpha = 0.7, size = 1) +
scale_color_brewer(palette = "Set3") +
# horrible hack incoming
scale_fill_manual(values = c("lightgrey","lightgrey","lightgrey","lightgrey","lightgrey",
"lightgrey","lightgrey","lightgrey","lightgrey","lightgrey")) +
coord_cartesian(ylim = c(0, pop_size))
解决方案
由于上面 da-wells 的评论解决了这个问题,他建议使用scale_fill_manual(values = rep("lightgrey", n_simulations))
以确保调色板涵盖我拥有的许多因素。不敢相信我没想到!
推荐阅读
- selenium - 我正在尝试使用以下凭据自动化登录表单
- reactjs - 即使在记录它们时出现,来自后面的数据也会变成未定义的
- python - 以逗号拆分单个项目列表
- android - 从 CompositeDisposable RXJava 中获取价值
- sql - AFTER INSERT 触发器在插入后只执行一次(多次插入)
- moodle - 如何使用 API 获取在 Moodle 中创建的 Book 的内容?
- c# - 使用 MimeKit 进行 cms 签名和验证
- rust - 什么是包、板条箱和模块?
- reactjs - 反应 useEffect 循环
- r - 将 Rcpp 文件添加到现有的 r 包?