带有 ggplot2 和 ggrepel 的时间序列箱线图中类似异常值的唯一标签

问题描述

我正在根据 JHU/CSSE 生成time series 绘制确认的 Covid-19 比率的箱线图,我希望为所有类似的异常值设置一个唯一标签

我正在使用 this 解决方案来定义异常值:

is_outlier <- function(x) {
  return(x < quantile(x,0.25) - 1.5 * iqr(x) | x > quantile(x,0.75) + 1.5 * iqr(x))
}

所以数据看起来像这样:

   county                         rate  date       outlier                   
   <chr>                          <dbl> <date>     <chr>                     
 1 Jefferson,Alabama,US       0.0148  2021-01-01 NA                        
 2 Maricopa,Arizona,US        0.0124  2021-01-01 NA                        
 3 Santa Cruz,US      0.0199  2021-01-01 Santa Cruz,US   
 4 Orange,California,US       0.0145  2021-01-01 NA                        
 5 San Bernardino,~ 0.0251  2021-01-01 San Bernardino,Californi~
 6 San Diego,US    0.0129  2021-01-01 NA                        
 7 Santa Clara,US  0.0100  2021-01-01 NA                        
 8 Boulder,Colorado,US        0.00420 2021-01-01 NA                        
 9 Jefferson,US      0.00505 2021-01-01 NA                        
10 Litchfield,Connecticut,US  0.00605 2021-01-01 NA

然后我将结果绘制如下:

library(ggplot)
library(ggrepel)

ggplot(data = confirmed_rates,aes(x = date,y = rate,group = date,label = outlier)) +
  geom_Boxplot(fill="#fdc086",color="black") +
  geom_text_repel() +
  stat_summary(fun = mean,geom = "line",aes(group = 1,color = "#beaed4"),size = 0.8) +
  theme_bw() +
  theme(legend.position = "none",axis.text.x = element_text(size = 8,angle = 60,vjust = 1,hjust = 1))

结果如下: Boxplots of confirmed Covid-19 rates in certain US counties

如您所见,当我标记所有异常值时,即使使用 geom_text_repel(),该图也非常拥挤,因此我希望大致具有类似 label = factor(outlier)内容,以便当一个县是多个异常值时日期,所有对应的点都将指向一个文本标签,这意味着对于所有箱线图,每个县名只会显示一次,但我不知道如何做到这一点,非常感谢您的帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...