首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在一个连续的色彩图例中添加一行而不是情节?

如何在一个连续的色彩图例中添加一行而不是情节?
EN

Stack Overflow用户
提问于 2017-10-09 04:09:25
回答 1查看 1K关注 0票数 5

是否有一种方法只在连续渐变图例中添加一条线?我无法使用ggplot2找到这方面的任何示例。

例如,我如何才能添加一条红色的水平线到传说中,比如说,1.7?

代码语言:javascript
复制
library(ggplot2)
x <- seq(1:1000)
y <-rnorm(1000,0,1)
df <- data.frame(x,y)
ggplot(df, aes(x, y, color = y)) + geom_point()

如下所示:

我为什么喜欢这样可能没什么意义。关于更多的情况,我希望在这些地块的图例中增加一条红线( 4552),在不同气候变化情景下,在不同年度水库流入预测的背景下,在幻灯片上显示水库的容量,以供讨论(我不需要注释红线)。有相当多的水库,所以如果可能的话,我想用R。

谢谢你的任何想法。

EN

回答 1

Stack Overflow用户

发布于 2017-10-09 16:24:27

不知道如何在渐变图例中添加自定义行,但我知道如何添加带有自定义颜色的自定义滴答标签:

代码语言:javascript
复制
library(ggplot2)
ggplot(df, aes(x, y, color = y)) + 
  geom_point() +
  scale_colour_gradient(breaks = c(-2, 0, 1.7, 2),
                        labels = c(-2, 0, "1.7 (important)", 2)) +
  guides(color = guide_colorbar(barheight = 10,
                                label.theme = element_text(colour = c("black", "black", 
                                                                      "red", "black"), 
                                                           angle = 0,
                                                           size = 12)))

注意,"1.7“标签与"2”标签重叠。您可以执行如下操作:

代码语言:javascript
复制
ggplot(df, aes(x, y, color = y)) + 
  geom_point() +
  scale_colour_gradient(breaks = c(-2, 0, 1.7, 2),
                        labels = c(-2, 0, "<-- 1.7 (important)", 2)) +
  guides(color = guide_colorbar(barheight = 10,
                                label.theme = element_text(colour = c("black", "black", 
                                                                      "red", "black"), 
                                                           angle = 0,
                                                           size = 12)))

或调整"1.7“标签的水平位置:

代码语言:javascript
复制
ggplot(df, aes(x, y, color = y)) + 
  geom_point() +
  scale_colour_gradient(breaks = c(-2, 0, 1.7, 2),
                        labels = c(-2, 0, "1.7 (important)", 2)) +
  guides(color = guide_colorbar(barheight = 10,
                                label.hjust = c(0, 0, 0.1, 0),
                                label.theme = element_text(colour = c("black", "black", 
                                                                      "red", "black"), 
                                                           angle = 0,
                                                           size = 12)))

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46638743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档