Estou plotando um mapa usando os pacotes ggplot
e ggOceanMaps
. Para agrupar as cores em função da data, usei a função scale_colour_binned()
.
library(ggOceanMaps)
library(tidyverse)
library(lubridate)
df_map <- df_map %>%
mutate(date_numeric = as.numeric(date))
basemap(data = df_map, limits = c(min(df_map$Lon) - 0.5,max(df_map$Lon) + 0.5,min(df_map$Lat) - 0.5,max(df_map$Lat) + 0.5), bathymetry = TRUE,
# bathy.style = "rcb" proper raster
) + # a synonym: basemap(dt)
ggspatial::geom_spatial_point(data = df_map, aes(x = Lon, y = Lat, color = date_numeric), size = 2) +
# scale_colour_distiller(labels = \(x) as.POSIXct(x, origin = lubridate::origin) |>
# format(format ="%b %d"), n.breaks = length(unique(df_map$station))/2, palette = "Spectral")
scale_colour_binned(type = "magma", name="Date",
breaks = seq(min(df_map$date_numeric), max(df_map$date_numeric), length.out = length(unique(df_map$date_numeric))),
labels = \(x) as.POSIXct(x, origin = lubridate::origin) |>
format(format = "%b %d"))
Infelizmente, quando tento alterar type = "viridis"
para uma paleta de cores diferente (por exemplo, magma), recebo um erro informando que o tipo de escala "magma" é desconhecido e que apenas "vidris" ou "gradiente" estão disponíveis. Existe alguma maneira de ter mais paletas disponíveis para a scale_colour_binned()
função?
Aqui está um exemplo de dados:
df_map = structure(list(Lat = c(78.6585508333333, 78.6585508333333, 78.6585508333333,
78.6585508333333, 78.6585508333333, 78.6585508333333, 78.6585508333333,
78.6585508333333, 78.7585508333333, 78.7585508333333, 78.7585508333333,
79.6585508333333, 79.6585508333333, 79.6585508333333, 79.6585508333333,
79.7585508333333, 79.7585508333333, 79.7585508333333, 80.6585508333333,
80.6585508333333, 75.0000000000000, 75.1000000000000, 73.9994955166667, 73.9994955166667, 73.9994955166667,
73.9994955166667, 73.9994955166667), Lon = c(24.6500727416667, 24.6500727416667,
24.6500727416667, 24.6500727416667, 24.6500727416667, 24.6500727416667,
24.6500727416667, 24.6500727416667, 24.6500727416667, 24.6500727416667,
24.6500727416667, 24.6500727416667, 24.6500727416667, 24.6500727416667,
23.6500727416667, 23.6500727416667, 23.6500727416667, 25.7500727416667,
25.7500727416667, 25.7500727416667, 30.9864643333333, 30.8874643333333, 35.9974643333333,
35.9974643333333, 35.9974643333333, 35.9974643333333, 35.9974643333333), date = structure(c(1690042620,
1690042620, 1690042620, 1690042620, 1690042620, 1690042620, 1690042620,
1690042620, 1690042620, 1690042620, 1690192620, 1690192620, 1690192620,
1690192620, 1690192620, 1690392620, 1690392620, 1690542620, 1690542620,
1690542620, 1691056620, 1691056620, 1691686620, 1691686620, 1691686620, 1691686620,
1691686620), class = c("POSIXct", "POSIXt"), tzone = "UTC")), row.names = c(NA,
27L), class = "data.frame")
scale_colour_binned()
inggplot2
aceita apenas dois valores para seutype
argumento:"gradient"
e"viridis"
. Se você quiser usar a paleta magma (ou qualquer outra família viridis) em uma escala de cores binada, usescale_colour_viridis_b()
. Esta função foi projetada para funcionar com escalas binadas usando a paleta viridis e permite que você especifique a paleta por meio dooption
argumento.