好吧,經過長時間的默讀,這是我的第一個問題。我正在嘗試為分組條形圖添加未突出顯示的專案的相應標簽。當我在 geom_text 前面插入 gghighlight 時,我得到以下圖:
library(tidyverse)
library(gghighlight)
df <- data.frame (group = c("A", "A", "B", "B", "C", "C"),
value = c("value_1", "value_2","value_1", "value_2","value_1", "value_2"),
mean = c(1.331, 1.931, 3.231, 3.331, 4.631, 3.331)
)
ggplot(data = df, aes(x = group, y = mean, fill = value))
geom_bar(stat = "identity", position = "dodge")
gghighlight(group != "B",
label_key = group
)
geom_text(aes(label = round(mean, digits = 2)),
stat= "identity",
vjust = -.5,
position = position_dodge(width = .9)
)

如果我將 gghightlight 移到 geom_text 后面,我會得到以下圖:
ggplot(data = df, aes(x = group, y = mean, fill = value))
geom_bar(stat = "identity", position = "dodge")
geom_text(aes(label = round(mean, digits = 2)),
stat= "identity",
vjust = -.5,
position = position_dodge(width = .9)
)
gghighlight(group != "B",
label_key = group)

有沒有辦法像突出顯示的那樣標記未突出顯示的條?
提前致謝。
############## 編輯 ###########
除了使某些列變灰(請參閱@TarJae 的答案)之外,還有可能使它們透明(基本部分來自這篇文章:
uj5u.com熱心網友回復:
這是一個帶有gghighlight包和一些有限的hacky代碼的解決方案。
在閱讀小插圖時,我注意到包的作者“過濾掉”了未突出顯示的資料。您可以看到,如果您將突出顯示的繪圖保存在 中p_h,然后查看p_h$data,則 B 組的值已經消失。
library(tidyverse)
library(gghighlight)
p_h <- ggplot(data = df, aes(x = group, y = mean, fill = value))
geom_bar(stat = "identity", position = "dodge")
gghighlight(group != "B",
label_key = group)
geom_text(aes(label = round(mean, digits = 2)),
stat= "identity",
vjust = -.5,
position = position_dodge(width = .9))
> p_h$data
group value mean
1 A value_1 1.331
2 A value_2 1.931
5 C value_1 4.631
6 C value_2 3.331
如果我們重新插入資料(在呼叫gghighlight()洗掉它們之后),那么geom_text()將能夠再次找到B 組的方法。
可以使用以下代碼“恢復”資料并重新插入它們:
### create a ggplot object with the original complete data
### you could check that with p_to_copy_data$data
p_to_copy_data <- ggplot(data = df)
### copy the complete data to your highlighted plot data section
p_h$data <- p_to_copy_data$data
p_h
這會產生以下圖表:

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/491402.html
標籤:r ggplot2 几何文本 gghighlight
