- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 geom_label_repel 将标签添加到图中的几个数据点。在这种情况下,它们恰好是箱形图上的异常值。我的大部分代码都在工作,我可以标记异常值,但由于某种原因,我得到了映射到该点的多个标签(等于我的整个数据集的样本大小)。我只想要这个异常值的一个标签。
这是我的数据:
dput(sus_dev_data)
structure(list(time_point = structure(c(1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L), .Label = c("3", "8", "12"), class = "factor"),
days_to_pupation = c(135L, 142L, 143L, 155L, 149L, 159L,
153L, 171L, 9L, 67L, 53L, 49L, 72L, 67L, 55L, 64L, 60L, 122L,
53L, 51L, 49L, 53L, 50L, 56L, 44L, 47L, 60L)), row.names = c(1L,
2L, 3L, 4L, 5L, 6L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L,
17L, 18L, 20L, 21L, 22L, 23L, 24L, 26L, 27L, 28L, 29L, 30L), class = "data.frame")
还有我的代码...
####################################################################################################
# Time to pupation statistical analysis
####################################################################################################
## linear model
pupation_Model=lm(sus_dev_data$days_to_pupation~sus_dev_data$time_point)
pupationANOVA=aov(pupation_Model)
summary(pupationANOVA)
# Tukey test to study each pair of treatment :
pupationTUKEY <- TukeyHSD(x=pupationANOVA, which = 'sus_dev_data$time_point',
conf.level=0.95)
## Function to generate significance labels on box plot
generate_label_df <- function(pupationTUKEY, variable){
# Extract labels and factor levels from Tukey post-hoc
Tukey.levels <- pupationTUKEY[[variable]][,4]
Tukey.labels <- data.frame(multcompLetters(Tukey.levels, reversed = TRUE)['Letters'])
#I need to put the labels in the same order as in the boxplot :
Tukey.labels$treatment=rownames(Tukey.labels)
Tukey.labels=Tukey.labels[order(Tukey.labels$treatment) , ]
return(Tukey.labels)
}
#generate labels using function
labels<-generate_label_df(pupationTUKEY , "sus_dev_data$time_point")
#rename columns for merging
names(labels)<-c('Letters','time_point')
# obtain letter position for y axis using means
pupationyvalue<-aggregate(.~time_point, data=sus_dev_data, max)
#merge dataframes
pupationfinal<-merge(labels,pupationyvalue)
####################################################################################################
# Time to pupation plot
####################################################################################################
# Plot of data
(pupation_plot <- ggplot(sus_dev_data, aes(time_point, days_to_pupation)) +
Alex_Theme +
geom_boxplot(fill = "grey80", outlier.size = 0.75) +
geom_text(data = pupationfinal, aes(x = time_point, y = days_to_pupation,
label = Letters),vjust=-2,hjust=.5, size = 4) +
#ggtitle(expression(atop("Days to pupation"))) +
labs(y = 'Days to pupation', x = 'Weeks post-hatch') +
scale_y_continuous(limits = c(0, 200)) +
scale_x_discrete(labels=c("3" = "13", "8" = "18",
"12" = "22")) +
geom_label_repel(aes(x = 1, y = 9),
label = '1')
)
最佳答案
下面是一个较短的示例来演示正在发生的事情。本质上,您的标签被回收到与数据相同的长度。
df = data.frame(x=1:5, y=1:5)
ggplot(df, aes(x,y, color=x)) +
geom_point() +
geom_label_repel(aes(x = 1, y = 1), label = '1')
您可以通过为 ggrepel 提供新数据来覆盖它
ggplot(df, aes(x,y, color=x)) +
geom_point() +
geom_label_repel(data = data.frame(x=1, y=1), label = '1')
关于r - 使用 ggrepel 标记单个点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59687572/
我想尽可能精确地在点上方绘制标签(无重叠),但 ggrepel 似乎坚持略微高于或低于绘制。例如 require(ggplot); require(ggrepel) ggplot(iris[1:10,
我正在尝试创建一个饼图来可视化 9 个属的丰度百分比。然而,标签都聚集在一起。我该如何补救?代码如下: generaabundance2020 % group_by(value) %>% # Va
我正在用 ggplot2 绘制热图。 y 轴上的几个刻度需要标记。然而,它们中的一些过于接近和重叠。我知道ggrepel可以分离文本标签,但目前我还没有解决我的问题。 我的代码如下。欢迎任何建议。谢谢
我正在尝试使用 geom_label_repel 将标签添加到图中的几个数据点。在这种情况下,它们恰好是箱形图上的异常值。我的大部分代码都在工作,我可以标记异常值,但由于某种原因,我得到了映射到该点的
我有一个相当密集的散点图,我正在使用 R 'ggplot2' 构建它,并且我想使用 'ggrepel' 来标记点的子集。我的问题是,我想绘制散点图中的所有点,但只用 ggrepel 标记一个子集,当我
想要绘制具有特定值的密度图(例如:中位数/均值/等)。我还想在绘图区域上方显示选定的值(例如中位数),因此它不会干扰分布本身。此外,在现实生活中,我有更大、更多样化的数据框(类别更多),所以我想分散标
我有一个 geom_gene_arrow 图,我需要使用 ggrepel 来防止标签重叠。不幸的是,我无法让它工作并得到错误提示“找不到函数“geom_text_repel”” 只有 geom_tex
我有一个 ggplot 图表,其中包含与此类似的数据: data 0), segment.alpha = .5, xlim = c(-5, 0), ylim = c(2.5, 5)) + ge
我试图在 geom_boxplot 中标记异常值使用 ggrepel::geom_label_repel .当只有一个分组变量时它工作得很好,但是当我尝试将它用于多个分组变量时,我遇到了问题。由于某种
我有一个数据集,其中每个数据点都有一个受约束的 x 值(代表一个定量变量的实际实例)、任意的 y 值(存在只是为了提供展开文本的维度)和一个标签.我的数据集可能非常大,并且经常存在文本重叠,即使我尝试
我正在使用最大方差旋转进行主成分分析,并希望显示看起来足够简单的图,但是我的加载向量在某些地方非常接近,并且它们的因子的标签往往会重叠。这就是 ggrepel 用来分隔标签的地方。我现在的困境是弄清楚
我尝试在 ggplot2 库中添加 ggrepel 来绘制图表: set.seed(42) ggplot(mtcars) + geom_point(aes(wt, mpg), size = 5,
ggrepel 提供了一系列出色的函数用于注释ggplot2 图形和the examples page包含许多关于如何扩展其功能的很好的提示,包括将生成的标签从绘图的轴、其他标签等移开。 但是,没有涉
我是一名优秀的程序员,十分优秀!