All color palettes

org_opt <- options()  # store original user options

options(max.print = "75")

knitr::opts_chunk$set(collapse = FALSE, 
                      comment = "#>", 
                      prompt = FALSE,
                      tidy = FALSE,
                      echo = TRUE, 
                      message = FALSE,
                      warning = FALSE,
                      # Default figure options:
                      dpi = 100, 
                      fig.align = 'center',
                      fig.height = 5.0,
                      fig.width  = 7.5,
                      out.width = "600px")

# URLs: ------ 

# unicol package: 
url_unicol_cran   <- "https://CRAN.R-project.org/package=unicol"
url_unicol_github <- "https://github.com/hneth/unicol"

url_github_doc_rel <- "https://hneth.github.io/unicol/"      # release version  
url_github_doc_dev <- "https://hneth.github.io/unicol/dev/"  # dev version

# unikn / Uni Konstanz:
url_unikn <- "https://www.uni-konstanz.de"

# unikn package: 
url_unikn_cran   <- "https://CRAN.R-project.org/package=unikn"
url_unikn_github <- "https://github.com/hneth/unikn"

unicol::

This vignettes provides an overview of the color palettes provided by the unicol package. (See the Using color palettes vignette for information on how to use the unicol color palettes.)

We install and load the unicol package to get started:

# install.packages('unicol')  # install unicol from CRAN client
library('unicol')             # load the package

Overview

n_pals <- length(unique(unicol_data$pal))
n_inst <- length(unique(unicol_data$inst))

The unicol package currently provides r n_pals\ color palettes from r n_inst\ institutions.

Table\ 1 provides an overview of all included institutions and color palettes. Clicking on the name of a color palette opens the corresponding page of the online reference.

# Data:
all_pals_df <- unicol_data
names(all_pals_df) <- c("Institution", "(aka.)", "URL", "Palette name")

tab_caption <- paste0("Overview of ", n_pals, " unicol palettes (from ", n_inst, " institutions).")

# Print table:
knitr::kable(all_pals_df, caption = tab_caption, row.names = TRUE)
# 1. Utility functions: ------

source("../R/5_util.R")
# 2. Process unicol_data: ------

my_pals <- unicol_data$pal

# Look up URLs and create links for my_pals:
pal_urls <- lookup(my_pals, unicol_data, v_1 = "pal", v_2 = "url")
pal_inst_links <- link_inst(my_pals)
pal_doc_links  <- link_github_doc(my_pals)
pal_lengths    <- sapply(X = unicol_data$pal, FUN = n_col)

# Determine countries from URLs:
pal_countries <- url_2_country(pal_urls)

# Create summary df:
my_df <- data.frame(inst = pal_inst_links, 
                    # url = pal_urls, 
                    country = pal_countries, 
                    pal = pal_doc_links,
                    n_col = pal_lengths)

row.names(my_df) <- 1:nrow(my_df)
col_names <- c("University / Institution", 
               # "URL", 
               "Country", 
               "Color palette", 
               "N of colors")


# 3. Print df as table: ------

df_caption <- paste0("Overview of ", n_pals, " unicol palettes (from ", n_inst, " institutions).")

knitr::kable(my_df, caption = df_caption, col.names = col_names, row.names = TRUE)

Illustration

# Parameters:
N <- length(unicol_data$pal)
n <- 50 # N

set.seed(24) # reproducible randomness

# A: Get sample_n of my_pals from all unicol_data$pal:
sample_n <- sort(sample(x = 1:N, size = n, replace = FALSE))
my_pals <- unicol_data$pal[sample_n]

# B: Get sample_n of primary_pals:
is_pal_1 <- grepl(pattern = "_1", unicol_data$pal)
# sum(is_pal_1)
primary_pals <- unicol_data$pal[is_pal_1]

N <- length(primary_pals)
sample_n <- sort(sample(x = 1:N, size = n, replace = FALSE))
my_pals <- primary_pals[sample_n]

# Initialize data structures:
pal_list  <- vector(mode = "list", length = n)
pal_names <- vector(mode = "character", length = n)
col_count <- 0

# Loop: Iterate through n palettes:
for (i in 1:n){

  cur_name  <- my_pals[i]
  cur_pal   <- get(cur_name)
  cur_count <- length(cur_pal)

  pal_list[[i]] <- cur_pal
  pal_names[i]  <- cur_name
  col_count     <- col_count + cur_count

} # for i loop end.

# Check:
# pal_list
# pal_names

# Captions:
tab_caption <- paste0("A sample of ", n, " unicol palettes (containing ", col_count, " colors).")
fig_caption <- paste0("Figure 1: A sample of ", n, " unicol palettes (containing ", col_count, " colors).")
my_main     <- paste0("Illustrating ", n, " unicol palettes (with ", col_count, " colors)")
# Stats (for n <- N):
n_pals  # number of color palettes: 236 on 2023-09-14. 
n_inst  # number of institutions:   102 on 2023-09-14.
# Colors (in current set):
length(unlist(pal_list))          # number of colors: 253 on 2023-09-14. 
length(unique(unlist(pal_list)))  # number of unique colors: 222 on 2023-09-14. 
knitr::kable(unicol_data[sample_n, ], caption = tab_caption)

Figure\ 1 illustrates a random sample of r n color palettes:

# Figure: Illustrate color palettes:
unikn::seecol(pal = pal_list,
              pal_names = pal_names,         
              main = my_main)

**Figure 1:** Examples of **unicol** color palettes.

Your color palettes

The current range of color palettes included in unicol is selective and incomplete. We are always happy to include new color palettes and institutions from all over the world.

If you are missing a color palette, you can easily create it. For instructions how this can be done, please see the documentation of the newpal() function (of the unikn package). The vignette on Institutional colors provides a corresponding example.

Call for contributions: Collecting color palettes

unicol::todo

If you do create a new color palette, please let us know (on this GitHub issue) so that we can include it in future versions of the unicol package. To enable us to verify and provide credit to your contributions, please send us the following information:

  1. your code (e.g., the newpal() command creating your color palette),
  2. your reference or source information (e.g., some URL with color definitions),
  3. your name and some contact information (e.g., an Email address).

We're looking forward to your inputs and contributions (at this GitHub issue)!

Vignettes

unicol::

The following vignettes provide an overview of and examples for using the unicol color palettes:

| Nr. | Vignette | Content |
| ---: |:---------|:-----------| | 1. | All color palettes | The color palettes of the unicol R package | | 2. | Using color palettes | Recipes for using the unicol color palettes |

options(org_opt)  # restore original user options


Try the unicol package in your browser

Any scripts or data that you put into this service are public.

unicol documentation built on May 29, 2024, 7:17 a.m.