[英]R ggplot: how to make a legend with labels combining correspondent frame elements in two columns?
这并不是您想要的,但它可能会给您一些直觉。
由于使用了平滑线,因此按名称进行分组,着色或构面没有帮助。 可以使用theme(plot.margin = unit(c(., ., ., .)))
调整边距来打开手动图例的空间,并使用paste0(data.f$Numbers, ". ", data.f$Name)
。 但是,您需要大约60个区域名称的较大空间,这会影响图形的可读性。
我的替代建议是将鼠标悬停时显示区域名称,以保持环境整洁。 这是一个ggiraph
实现:
# importing packages
library(dplyr)
library(ggiraph)
# creating a similar data frame
set.seed(147)
data.f <- data_frame(
X = rnorm(10),
Y = rnorm(10),
Name = paste("Region", LETTERS[1:10]),
Numbers = 1:10
)
# building the ggplot with interactive features
g <- ggplot(data = data.f, aes(x = X, y = Y)) +
geom_smooth(method = "lm") +
geom_text(
aes(label = Numbers),
hjust = -0.4,
vjust = 0,
size = 6
) +
geom_point_interactive(aes(tooltip = Name, data_id = Numbers)) +
labs(x = "X", y = "Y")
# building the ggiraph output
ggiraph(ggobj = g)
如果要了解有关ggiraph
更多信息并进一步自定义图形,可以在文档中找到其他详细信息: 使用ggiraph
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.