ggplot固定图例问题:如何保持图例/刻度每次生成一致?
固定ggplot图例与刻度的方法
问题出在每次抽样得到的SCORE取值范围不一样,导致颜色渐变的刻度和图例自动适配了当前样本的范围。要让它们固定不变,只需在scale_color_gradientn里手动指定limits参数为整个数据集的SCORE极值即可。
修改后的代码:
set.seed(1) DATA = data.frame(STUDENT = c(1:100), SCORE = sample(1:1000)) DATA %>% sample_n(10) %>% ggplot() + aes(x = STUDENT, y = SCORE, color = SCORE) + geom_point() + scale_color_gradientn(colours = rainbow(5), limits = range(DATA$SCORE))
关键说明
range(DATA$SCORE)会获取原始数据中SCORE的最小和最大值,将这个范围设为颜色刻度的固定边界- 这样无论抽取哪10个样本,颜色图例的刻度都会和原始数据集保持一致,不会随样本波动而变化
内容的提问来源于stack exchange,提问作者bvowe
相关产品推荐
相关产品推荐

