Mikata-Project / ggthemr

Themes for ggplot2.
893 stars 108 forks source link

ggthemr_reset() cannot be completely cleared #55

Open perlatex opened 2 years ago

perlatex commented 2 years ago

The old problem did not appear, but the new problem appeared.

library(tibble)
library(dplyr)
library(ggplot2)

tb <- tibble(
  x = letters[1:9],
  y = 1:9
)

tb %>%
  ggplot(aes(x, y, color = x)) +
  geom_point()

AA

but,after load ggthemr

library(ggthemr)
ggthemr("dust")
ggthemr_reset()

# does not work
tb %>%
  ggplot(aes(x, y, color = x)) +
  geom_point()
# Error: Your data requires 9 colours but the swatch provided by ggthemr only has 8. To resolve this you can provide an appropriate 
# vector of colours to your scale or expand the swatch using set_swatch(). Note: if you are using a custom palette, the first swatch colour 
# is separate from the others. See the documentation for define_palette() and/or set_swatch()

still does not work

pacman::p_unload("ggthemr")

tb %>%
  ggplot(aes(x, y, color = x)) +
  geom_point()
# Error: Your data requires 9 colours but the swatch provided by ggthemr only has 8. To resolve this you can provide an appropriate 
# vector of colours to your scale or expand the swatch using set_swatch(). Note: if you are using a custom palette, the first swatch colour 
# is separate from the others. See the documentation for define_palette() and/or set_swatch()
Matt-Int commented 2 years ago

Hey @perlatex

Looks like the reset function didn't reset the appropriate options, hence why unloading the namespace also didn't work. I've fixed that in #56, in the meantime you can manually reset the options:

options('ggplot2.discrete.colour' = NULL)
options('ggplot2.continuous.colour' = NULL)

Alternatively you can install the temporary branch by using remotes::install_github("matt-int/ggthemr@issue_55")

perlatex commented 2 years ago

it work for me, thanks @Matt-Int