Цвет ярлыка такой же, как у пузырьковой заливки с помощью ggrepel - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть пузырьковая диаграмма, и я использую ggrepel, чтобы избежать наложения меток.

Воспроизводимый пример:

library(randomcoloR)
n <- nrow(iris)
palette <- unname(distinctColorPalette(n))


(p <- iris %>% 
  ggplot(aes(x=Sepal.Length,
             y=Sepal.Width,
             label = Species,
             color = palette)) +
  geom_point(alpha = 0.7, show.legend = FALSE) +
  scale_color_manual(values=palette)
)


(r <-
    p + geom_point(
      aes(size = Petal.Length*Petal.Width),
      pch = 21,
      show.legend = FALSE,
      fill = palette
    ) +
    scale_size_continuous(range = c(2, 30)) +
    geom_text_repel(segment.color = "orange",
                    nudge_y = 0.05,
                    angle        = 0,
                    vjust        = -5,
                    segment.size = 0.2) +
    theme(legend.position = "none")
)

Проблема в том, что я хочу, чтобы метка такого же цвета была пузырьковой, ноВместо этого я получаю цвет границы круга.

enter image description here

1 Ответ

0 голосов
/ 16 ноября 2018

Ваши color и fill должны быть внутри эстетики aes(), тогда ggrepel распознает их. Я имею в виду ggrepel использовать тот, который указан в aes Я немного переписал твой код:

library(randomcoloR)
library(ggrepel)
n <- nrow(iris)
palette <- unname(distinctColorPalette(n))


iris %>% 
    ggplot(aes(x=Sepal.Length,
               y=Sepal.Width)) +
    geom_point(
      aes(size = Petal.Length*Petal.Width,
          fill = palette,
          color = palette),
      alpha = .7,
      pch = 21,
      show.legend = FALSE) +
    scale_size_continuous(range = c(2, 30)) +
    geom_text_repel(aes(label = Species,
                        color = palette),
                    segment.color = "orange",
                    nudge_y = 0.05,
                    angle        = 0,
                    vjust        = -5,
                    segment.size = 0.2) +
    theme(legend.position = "none")

enter image description here

...