我想将样本大小值与绘图上的点相关联.我可以geom_text用来定位点附近的数字,但这很麻烦.将它们沿着图的外边缘排列会更加清晰.
例如,我有:
df=data.frame(y=c("cat1","cat2","cat3"),x=c(12,10,14),n=c(5,15,20))
ggplot(df,aes(x=x,y=y,label=n))+geom_point()+geom_text(size=8,hjust=-0.5)
Run Code Online (Sandbox Code Playgroud)
这产生了这个情节:

我更喜欢这样的东西:

我知道我可以创建第二个图并使用grid.arrange(这篇文章),但确定textGrobs与y轴对齐的间距会很繁琐.有更简单的方法吗?谢谢!
我有一个带有条带标签的多面图,由于多面的宽度而被剪裁 - 我一直在 Inkscape 中手动删除此剪辑,但想在 R 中执行此操作。请参阅这个可重复的小示例(图形宽度是非-)可协商,需要导出为 .eps 文件):
library(tidyverse)
# Build data frame
df <- data.frame(treatment = factor(c(rep("A small label", 5), rep("A slightly too long label", 5))),
var1 = c(1, 4, 5, 7, 2, 8, 9, 1, 4, 7),
var2 = c(2, 8, 11, 13, 4, 10, 11, 2, 6, 10))
# Plot scatter graph with faceting by 'treatment'
p <- ggplot(df, aes(x = var1, y = var2)) +
geom_point() +
facet_wrap(treatment ~ ., ncol = 2)
# Save …Run Code Online (Sandbox Code Playgroud) 这是我的工作示例:
library(ggplot2)
library(directlabels) # ver 2014.6.13 via r-forge
DF <- expand.grid(z = seq(1, 3001, by=10), k = seq(from=0.5, to=5, by=0.25))
# Defines the function value for each z-k combination
DF$dT <- with(DF, -0.07 * z * (1/2.75 - 1/k))
p <- ggplot(DF, aes(x = z, y = k, z = dT)) + theme_bw() +
stat_contour(aes(colour=..level..), breaks=c(seq(from=-40, to=0, by=5), c(seq(from=5, to=150, by=10))))
angled.boxes <- list("far.from.others.borders","calc.boxes","enlarge.box","draw.rects")
direct.label(p, "angled.boxes")
Run Code Online (Sandbox Code Playgroud)
看起来像这样:

我想将标签的框边框颜色变为"白色",但我看不出怎么做.在包的新闻中,写道:
2.5 --- 2012年4月6日
draw.rects具有可配置的颜色,默认为黑色.
并且看作"angled.boxes"的列表包括:
angled.boxes <- list("far.from.others.borders","calc.boxes","enlarge.box","draw.rects")
Run Code Online (Sandbox Code Playgroud)
我想这是可能的,但是怎么样?