在 geom_boxplot 中找到框的 x 坐标 (ggplot2)
finding x coordinates of box in geom_boxplot (ggplot2)
我想添加文本以指示箱线图中的中值和铰链(箱的左侧或右侧)。我正在为文本的水平定位而苦苦挣扎。
如何计算盒子的 x 坐标(左和右)?(或者如何将它们适当地放置在盒子的左侧或右侧)。
set.seed(0)
d <- data.frame(x = rnorm(20))
pos <- quantile(d$x)[2:4]
s <- data.frame(pos, q=names(pos))
ggplot(d, aes("A", x)) +
geom_boxplot() +
geom_text(aes(y=pos, label=q), s, hjust=5)
对于箱线图,ggplot2
在 x=1 处绘制第一个箱线图,然后在 x=2、3、3 等处绘制下一个箱线图。如果每个因子水平只有一个图(即避风港没有在这些点细分),条形宽度为 0.75,每边 0.375。
因此,对于您的示例,您希望添加带有 x = (1 - 0.375)
的 geom_text 并留出一点空间以确保它们不重叠:
library(ggplot2)
set.seed(0)
d <- data.frame(x = rnorm(20))
pos <- quantile(d$x)[2:4]
s <- data.frame(pos, q=names(pos))
ggplot(d, aes("A", x)) +
geom_boxplot() +
geom_text(aes(y=pos, label=q), x=1-0.375,s)
如果你有不止一个箱线图,你想打电话:
geom_text(aes(y=pos, label=q, x = as.numeric(factor(var))-0.375), s)
我想添加文本以指示箱线图中的中值和铰链(箱的左侧或右侧)。我正在为文本的水平定位而苦苦挣扎。 如何计算盒子的 x 坐标(左和右)?(或者如何将它们适当地放置在盒子的左侧或右侧)。
set.seed(0)
d <- data.frame(x = rnorm(20))
pos <- quantile(d$x)[2:4]
s <- data.frame(pos, q=names(pos))
ggplot(d, aes("A", x)) +
geom_boxplot() +
geom_text(aes(y=pos, label=q), s, hjust=5)
对于箱线图,ggplot2
在 x=1 处绘制第一个箱线图,然后在 x=2、3、3 等处绘制下一个箱线图。如果每个因子水平只有一个图(即避风港没有在这些点细分),条形宽度为 0.75,每边 0.375。
因此,对于您的示例,您希望添加带有 x = (1 - 0.375)
的 geom_text 并留出一点空间以确保它们不重叠:
library(ggplot2)
set.seed(0)
d <- data.frame(x = rnorm(20))
pos <- quantile(d$x)[2:4]
s <- data.frame(pos, q=names(pos))
ggplot(d, aes("A", x)) +
geom_boxplot() +
geom_text(aes(y=pos, label=q), x=1-0.375,s)
如果你有不止一个箱线图,你想打电话:
geom_text(aes(y=pos, label=q, x = as.numeric(factor(var))-0.375), s)