R 如何在一个面板中排斥文字?
我很难找到一种方法来排斥单面网格“Mountain”(上中)中的文本标签。所有其他州标签都很清晰,可以区分,但我不知道如何在“Mountain”中移动州标签而不影响其他网格 我试过使用:R 如何在一个面板中排斥文字?,r,ggplot2,label,facet-wrap,ggrepel,R,Ggplot2,Label,Facet Wrap,Ggrepel,我很难找到一种方法来排斥单面网格“Mountain”(上中)中的文本标签。所有其他州标签都很清晰,可以区分,但我不知道如何在“Mountain”中移动州标签而不影响其他网格 我试过使用: geom_text_repel(force = x) 但我不知道有哪种方法可以强迫代码只影响一个网格。下面是我的代码和输出。我期望的结果是让“山脉”网格中的州看起来像“西北中心”中的州一样,或者是一些易于阅读的州 另一件我还没有完全弄清楚的事情是我的x轴标签。为了给州标签留出空间,我将2010年至2018年列
geom_text_repel(force = x)
但我不知道有哪种方法可以强迫代码只影响一个网格。下面是我的代码和输出。我期望的结果是让“山脉”网格中的州看起来像“西北中心”中的州一样,或者是一些易于阅读的州
另一件我还没有完全弄清楚的事情是我的x轴标签。为了给州标签留出空间,我将2010年至2018年列为年度范围,但我只希望axis显示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)
p关于将geom\u text\u repel()
应用于一个特定方面的第一个问题。在您的情况下,对geom\u text\u repel()
的调用可能类似于这样(我自己无法尝试,因为我没有您的数据):
p2
p2 <- p1 + geom_text_repel(
data = subset(dataplot, YEAR == max(YEAR)),
mapping = aes(x = YEAR, y = Y, label = ALPHA_CODE, CENSUS_DIVISION = "MOUNTAIN"),
size = 3.6, segment.color = NA, nudge_x = 40) +
coord_cartesian(c(min(dataplot$YEAR), 2018))