编辑渐变图例以指示预定义的基准值
Edit a gradient legend to indicate a pre-defined benchmark value
快速浏览下图...
我想在图例中的渐变条上添加一个指示器,该指示器对应于预定义的基准百分比(17%,这是蓝色带指示的范围)。它应该是一个简单的水平带,带有某种标注表明这是基准。
此外,更重要的是,我希望这些点及其相应的标签永远不会重叠,而是聚集在一起并且全部可见,也许有一些迹象表明它们是间隔开的而不是 100% 准确?
想法?
# TEST DATA
srvc_data <- data.frame(
Key = 1:20,
X = sample(40:80, 20, replace = T),
Y = sample(30:65, 20, replace = T)
)
srvc_data$Z <- with(srvc_data,abs(X-Y))
t1<-theme(
plot.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
axis.line = element_line(size=.4)
)
main_plot <- ggplot(srvc_data, aes(x = X, y = Y),xlim=c(0,100), ylim=c(0,100)) +
t1 +
theme_bw() +
labs(x="X", y="Y") +
scale_x_continuous(limits = c(0, 100)) +
scale_y_continuous(limits = c(0, 100)) +
geom_abline(intercept = 0, slope = 1, colour="blue", size=34, alpha=.1)+
geom_abline(intercept = 0, slope = 1, colour="black", size=.2, alpha=.5,linetype="dashed")+
geom_point(size = 7, aes(color = Z), alpha=.7) +
scale_color_gradient("Gap %\n",low="green", high="red")+
coord_fixed()+
geom_text(aes(label=Key,size=6),show_guide = FALSE)
main_plot
制作这个情节
提前致谢。
你在问两个不相关的问题。我会回答标题中的那个:
添加休息时间很容易,只需在 scale_color_gradient
中指定即可。
my_breaks = c(10, 17, 34)
...
scale_color_gradient("Gap %\n",low="green", high="red",
breaks = my_breaks, labels = paste0(my_breaks, "%")) +
...
如果您的数据是真实的百分比(介于 0 和 1 之间),那么 labels = scales::percent
会为您进行格式化。
快速浏览下图...
我想在图例中的渐变条上添加一个指示器,该指示器对应于预定义的基准百分比(17%,这是蓝色带指示的范围)。它应该是一个简单的水平带,带有某种标注表明这是基准。
此外,更重要的是,我希望这些点及其相应的标签永远不会重叠,而是聚集在一起并且全部可见,也许有一些迹象表明它们是间隔开的而不是 100% 准确?
想法?
# TEST DATA
srvc_data <- data.frame(
Key = 1:20,
X = sample(40:80, 20, replace = T),
Y = sample(30:65, 20, replace = T)
)
srvc_data$Z <- with(srvc_data,abs(X-Y))
t1<-theme(
plot.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank(),
axis.line = element_line(size=.4)
)
main_plot <- ggplot(srvc_data, aes(x = X, y = Y),xlim=c(0,100), ylim=c(0,100)) +
t1 +
theme_bw() +
labs(x="X", y="Y") +
scale_x_continuous(limits = c(0, 100)) +
scale_y_continuous(limits = c(0, 100)) +
geom_abline(intercept = 0, slope = 1, colour="blue", size=34, alpha=.1)+
geom_abline(intercept = 0, slope = 1, colour="black", size=.2, alpha=.5,linetype="dashed")+
geom_point(size = 7, aes(color = Z), alpha=.7) +
scale_color_gradient("Gap %\n",low="green", high="red")+
coord_fixed()+
geom_text(aes(label=Key,size=6),show_guide = FALSE)
main_plot
制作这个情节
提前致谢。
你在问两个不相关的问题。我会回答标题中的那个:
添加休息时间很容易,只需在 scale_color_gradient
中指定即可。
my_breaks = c(10, 17, 34)
...
scale_color_gradient("Gap %\n",low="green", high="red",
breaks = my_breaks, labels = paste0(my_breaks, "%")) +
...
如果您的数据是真实的百分比(介于 0 和 1 之间),那么 labels = scales::percent
会为您进行格式化。