gghighlight在ggplot2图中不会显示灰线吗?

时间:2018-08-31 14:15:30

标签: r ggplot2

我的数据集示例:

df1[Reduce(`|`, df1[col_nm]),]
#  Sol_name geo_pos loc_pos dol_pos pol_pos kol_pos
#1        A       1       1       0       0       1
#2        B       0       1       1       0       0
#3        C       1       0       1       1       1

我正在尝试使用test <- structure(list(CCG = c("NHS DARLINGTON CCG", "NHS DARLINGTON CCG", "NHS DARLINGTON CCG", "NHS DARLINGTON CCG", "NHS DURHAM DALES, EASINGTON AND SEDGEFIELD CCG", "NHS DURHAM DALES, EASINGTON AND SEDGEFIELD CCG", "NHS DURHAM DALES, EASINGTON AND SEDGEFIELD CCG", "NHS DURHAM DALES, EASINGTON AND SEDGEFIELD CCG", "NHS GATESHEAD CCG", "NHS GATESHEAD CCG", "NHS GATESHEAD CCG", "NHS GATESHEAD CCG" ), value = c(0.98, 0.97, 0.97, 0.94, 0.96, 0.96, 0.96, 0.94, 0.93, 0.92, 0.93, 0.94), metric = c("a", "b", "c", "d", "a", "b", "c", "d", "a", "b", "c", "d")), row.names = c(NA, -12L), class = c("tbl_df", "tbl", "data.frame")) 包突出显示我的绘图中的选定线,如creator's site所示。

gghighlight

如果我想为所有线条着色,效果很好,但是当我尝试将gghighlight函数合并到图形中时,出现错误消息:

testplot <- test %>% 
  ggplot(aes(x=metric, y=value, group=CCG, colour=CCG)) + 
  geom_line() + 
  theme(legend.position="none")
testplot

testplot <- test %>% ggplot(aes(x=metric, y=value, group=CCG, colour=CCG)) + geom_line() + gghighlight(CCG == "NHS DARLINGTON CCG", use_direct_label = FALSE) + theme(legend.position="none") testplot geom_path: Each group consist of only one observation. Do you need to adjust the group aesthetic? 呼叫中选择的行显示出来,但是其余的现在消失了,而不是淡淡的灰色。我已经指定了group参数,所以我不知道出了什么问题。

1 个答案:

答案 0 :(得分:0)

我想这个问题与您绘图中的离散比例有关,我的尝试并不能解决问题,但是提供了一种解决方法。

library(tidyverse)
library(gghighlight)
test %>% 
  group_by(CCG) %>% 
  mutate(idx = seq_along(metric)) %>% 
  ungroup() %>% 
  ggplot(aes(x = idx, y = value, group = CCG, colour = CCG)) + 
  geom_line() + 
  gghighlight(CCG == "NHS DARLINGTON CCG", use_direct_label = FALSE) +
  scale_x_continuous(labels = unique(test$metric)) +
  theme(legend.position = "none")

enter image description here

我只创建了一个数字变量idx,将其绘制在x轴上,并使用unique(test$metric)作为scale_x_continuous中的轴标签。希望这可以帮助。