如何在一个facet_wrap面板中排斥文本?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在一个facet_wrap面板中排斥文本?相关的知识,希望对你有一定的参考价值。

我在寻找一种方法来排斥一个小平面网格“ Mountain”(顶部中央)时遇到麻烦。所有其他状态标签都足够清晰,可以区分,但是我无法弄清楚如何在“山脉”中的状态标签周围移动而不影响其他网格。

我尝试使用:

geom_text_repel(force = x)

但是我不知道有什么强迫代码仅影响单个网格。以下是我的代码以及输出。我希望得到的结果是使“山脉”网格中的状态看起来像在“西北部中部”中一样,或者易于读取。]

我还没有弄清楚的另一件事是我的x轴标签。我将年度范围设定为2010年至2018年,以便为州标签留出空间,但我只希望轴显示2010年至2017年。

代码/输出:

p2 + xlim(breaks = seq(2010,2017, by = 1))
Error in limits.numeric(c(...), "x") : length(lims) == 2 is not TRUE

有什么建议吗?

p <- ggplot(plotflow, aes(x = YEAR, y = Y, group = STATE)) + 
  theme_bw() + 
  theme(panel.grid.major = element_blank()) + 
  theme(panel.grid.minor = element_blank()) + 
  theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
p0 <- p + geom_point(color = "gray70")
p1 <- p0 + geom_smooth(mapping = aes(group = STATE), 
                       se = F, color = "gray10")
p2 <- p1 + geom_text_repel(data = subset(dataplot, YEAR == max(YEAR)),
                           mapping = aes(x = YEAR, y = Y, label = ALPHA_CODE),
                           size = 3.6, segment.color = NA, nudge_x = 40) + coord_cartesian(c(min(dataplot$YEAR), 2018))
p2 + labs(x = "Year") + 
  facet_wrap(CENSUS_DIVISION ~ ., nrow  = 3)

enter image description here

我在寻找一种方法来排斥一个小平面网格“ Mountain”(顶部中央)时遇到麻烦。所有其他状态标签都足够清晰,可以区分,但是我不知道如何在...

答案

关于将geom_text_repel()应用到一个特定方面you can use a similar solution to that posted here的第一个问题。在您的情况下,您对geom_text_repel()的呼叫可能看起来像这样(我自己无法尝试,因为我没有您的数据):

以上是关于如何在一个facet_wrap面板中排斥文本?的主要内容,如果未能解决你的问题,请参考以下文章

如何控制 `facet_wrap()` 中的轴刻度数?

将刻面ggplots(facet_wrap)与R中的cowplot对齐

如何修改 facet_wrap 条的宽度?

在 ggplot2 的 facet-grid/facet_wrap 中调整面板的相对空间

R语言可视化包ggplot2包使用facet_wrap绘制多面板图(子图)实战

使用 ggplot facet_grid 或 facet_wrap 时修改面板轴的特定主题参数