ggplot2: переменная цвета, независимая от других - PullRequest
0 голосов
/ 05 мая 2020

Могу ли я игнорировать цвет по значению для одной из переменных? (ie: я бы хотел, чтобы переменная C отображалась по размеру как масштабированное значение, как есть, но игнорировала окраску по значению и имела независимый цвет (черный))

data <- tibble::tibble(
  value = c(4.07, 5.76, 2.87,4.94,5.48, 6.75,1.53,1.35, 1.32), 
  Variable = rep(c(rep("A",3),rep("B",3), rep("C",3))),
  Experiment = rep(c(1:3),3))

data <- data %>%group_by(Variable)%>%
  mutate(scaled_val = scale(value)) %>%
  ungroup()

data$Variable <- factor(data$Variable,levels=rev(unique(data$Variable)))

ggplot(data, aes(x = Experiment, y = Variable, label=NA)) +
  geom_point(aes(size = scaled_val, colour = value)) + 
  geom_text(hjust = 1, size = 2) +
  theme_bw()+
  scale_color_gradient(low = "lightblue", high = "darkblue")+
  scale_x_discrete(expand=c(1,0))+
  coord_fixed(ratio=4)

enter image description here

1 Ответ

2 голосов
/ 05 мая 2020

Если я правильно понимаю, вы сможете разделить данные в geom_point и наложить два geom_point geom:

ggplot(data, aes(x = Experiment, y = Variable, label=NA)) +
  geom_point(data=subset(data, Variable %in% c("A","B")), aes(size = scaled_val, colour = value)) + 
  geom_point(data=subset(data, Variable=="C"), aes(size = scaled_val)) + 
  geom_text(hjust = 1, size = 2) +
  theme_bw()+
  scale_color_gradient(low = "lightblue", high = "darkblue")+
  scale_x_discrete(expand=c(1,0))+
  coord_fixed(ratio=4)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...