是否有一种方法只在连续渐变图例中添加一条线?我无法使用ggplot2找到这方面的任何示例。
例如,我如何才能添加一条红色的水平线到传说中,比如说,1.7?
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。
谢谢你的任何想法。

发布于 2017-10-09 16:24:27
不知道如何在渐变图例中添加自定义行,但我知道如何添加带有自定义颜色的自定义滴答标签:
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”标签重叠。您可以执行如下操作:
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“标签的水平位置:
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)))

https://stackoverflow.com/questions/46638743
复制相似问题