ggforce facet_缩放-仅在缩放的示例上添加标签
我想在散点图中标记点,但只标记ggforce facet_缩放-仅在缩放的示例上添加标签,r,ggplot2,ggforce,R,Ggplot2,Ggforce,我想在散点图中标记点,但只标记facet\u zoom面板中的点。以下是一个例子: library(ggplot2) library(ggforce) library(ggrepel) library(magrittr) labels <- letters example_values_x <- rnorm(26) example_values_y <- rnorm(26) df <- data.frame(labels, exam
facet\u zoom
面板中的点。以下是一个例子:
library(ggplot2)
library(ggforce)
library(ggrepel)
library(magrittr)
labels <- letters
example_values_x <- rnorm(26)
example_values_y <- rnorm(26)
df <- data.frame(labels,
example_values_x,
example_values_y)
df %>% ggplot(aes(y = example_values_y,
x = example_values_x)) +
geom_point() +
facet_zoom(x = example_values_x > 0.5) +
geom_label_repel(data = filter(df, example_values_x > 0.5), aes(label = labels))
库(ggplot2)
图书馆(警队)
图书馆(ggrepel)
图书馆(magrittr)
标签注:以下答案适用于。在撰写本文时,CRAN上的版本对于facet\u zoom()
似乎有不同的接口,即使包版本相同。
首先,获取要标记的数据子集并添加一个zoom
列,指定是否应在缩放面板(TRUE
)、原始面板(FALSE
)或两者(NA
)中呈现数据:
请注意,由于原始的df
没有zoom
列,facet\u zoom()
将其视为NA
并根据需要在两个面板中绘制geom\u point()
:
dftxt <- dplyr::filter(df, example_values_x > 0.5) %>%
dplyr::mutate( zoom = TRUE ) ## All entries to appear in the zoom panel only
df %>% ggplot(aes(y = example_values_y,
x = example_values_x)) +
geom_point() +
facet_zoom(x = example_values_x > 0.5, zoom.data=zoom) + # Note the zoom.data argument
geom_label_repel(data = dftxt, aes(label = labels))