Цвет легенды пузырьковой карты в ggplot2 с использованием viridis - PullRequest
6 голосов
/ 13 марта 2020

Здравствуйте. Мне бы хотелось, чтобы пузыри в легенде этой пузырьковой карты были окрашены в цвета viridis, используемые на диаграмме. Я понял, как настроить цвета, используя простой цвет (например, оранжевый), но я не уверен, как переопределить цвета с помощью цветов viridis или, в более общем смысле, любой цветовой палитры.

направляющие (size = guide_legend (override.aes ​​= list (color = "orange")))

# Libraries
library(ggplot2)
library(dplyr)

# Get the world polygon and extract UK
library(maps)
UK <- map_data("world") %>% filter(region=="UK")

# Get a data frame with longitude, latitude, and size of bubbles (a bubble = a city)
data <- world.cities %>% filter(country.etc=="UK")

# virids package for the color palette
library(viridis)

# Do bubble map and use viridis as color palette 
ggplot() +
  geom_polygon(data = UK, aes(x=long, y = lat, group = group), fill="grey", alpha=0.3) +
  geom_point( data=data, aes(x=long, y=lat, size=pop, color=pop)) +
  scale_size_continuous(range=c(1,12)) +
  scale_color_viridis(trans="log") +
  guides(size=guide_legend(override.aes = list(color= "orange"))) + 
  theme_void() + ylim(50,59) + coord_map() 

1 Ответ

8 голосов
/ 13 марта 2020

Вы можете использовать функцию viridis для передачи цветов (в данном случае 3 цвета) из палитры viridis в override.aes, как вы делаете это с оранжевым:

ggplot() +
  geom_polygon(data = UK, aes(x=long, y = lat, group = group), fill="grey", alpha=0.3) +
  geom_point( data=data, aes(x=long, y=lat, size = pop, color = pop)) +
  scale_size_continuous(range=c(1,12)) +
  scale_color_viridis(trans="log") +
  guides(size=guide_legend(override.aes = list(color = viridis(3)))) +
  theme_void() + ylim(50,59) + coord_map() 

enter image description here

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