在R中是否有办法在x或y轴标签周围绘制框/边框,可能是有角度的标签?
我一直在使用ggplot
创建平铺图表,并找到了在数据本身中放置标签的代码(通过geom_label
:Set ggplot2 label background color,但不是围绕轴标签自己。
图表示例:
答案 0 :(得分:5)
library(grid)
element_custom <- function() {
structure(list(), class = c("element_custom", "element_text"))
}
element_grob.element_custom <- function(element, label="", ...) {
tg <- textGrob(label)
padding <- unit(1,"line")
rg <- rectGrob(width=grobWidth(tg)+padding, height=grobHeight(tg)+padding)
gTree(children=gList(rg, tg), height=grobHeight(tg) + padding, cl="custom_axis")
}
heightDetails.custom_axis <- function(x) x$height + unit(2,"mm") # fudge
ggplot(iris, aes(Sepal.Length, Sepal.Width)) +
geom_line() +
labs(x= "Axis title")+
(theme_grey() %+replace% theme(axis.title.x = element_custom()))