The goal of euissR is to make plotting coherent with the EUISS's visual identity in ggplot2 less verbose. It provides functions for various pre-styled ggplot2 geoms, enhanced color palettes, utility functions, and streamlined workflows for more efficient plotting with ggplot2 in R.
euissR comes with a custom ggplot2 theme that is automatically set as default when loading the package, along with enhanced font handling and comprehensive color management.
- Custom ggplot2 theme with EUISS visual identity
- Pre-styled geoms for consistent plotting
- Enhanced color palettes with light variants and specialized palettes
- Automatic font management with PT Sans/PT Sans Narrow support
- Utility functions for common data analysis workflows
- Publication dimensions for EUISS reports, briefs, and books
- Automatic package loading for streamlined setup
You can install the development version of euissR from GitHub with:
# install.packages("devtools")
devtools::install_github("cdtrich/euissR")library(euissR)
# Package automatically:
# - Sets theme_euiss() as default
# - Configures colors and fonts
# - Reports font status
# Optional: Load common packages for analysis
euiss_load_packages() # loads dplyr, ggplot2, readr, etc.
# Create plots with enhanced styling
mtcars %>%
ggplot(aes(wt, mpg)) +
geom_point_euiss() +
geom_text_euiss(aes(label = row.names(mtcars)))# Enhanced categorical palette
ggplot(mtcars, aes(wt, mpg, col = factor(cyl))) +
geom_point() +
scale_color_manual(values = pal_cat_euiss_enhanced(3))
# Light sequential palettes
ggplot(mtcars, aes(wt, mpg, col = hp)) +
geom_point() +
scale_color_gradientn(colors = pal_seq_r_light_euiss(4))
# Specialized bathymetry palette
ggplot(mtcars, aes(wt, mpg, col = disp)) +
geom_point() +
scale_color_gradientn(colors = pal_seq_bathy_euiss(6))# Get dimensions for different publication types
cp_dims <- euiss_get_dimensions("cp")
book_dims <- euiss_get_dimensions("book")
brief_dims <- euiss_get_dimensions("brief")
# Use with ggsave_euiss or ggplot2::ggsave
ggsave("plot.pdf",
width = cp_dims$onecol,
height = cp_dims$height * 0.6,
units = "mm")# Minimal margins (like mar0 in style scripts)
ggplot(mtcars, aes(wt, mpg)) +
geom_point_euiss() +
euiss_mar0()
# Enhanced color scales
ggplot(mtcars, aes(wt, mpg, col = hp)) +
geom_point() +
euiss_color_continuous()euissR automatically manages fonts with the following priority:
- PT Sans (preferred, from Google Fonts)
- PT Sans Narrow (fallback)
- Sans (system default)
The package will attempt to import PT fonts from common system locations and provide informative messages about font availability.
To install PT Sans:
- Download from Google Fonts
- Or use:
extrafont::font_import(pattern = "PT")
All geoms are pre-styled with EUISS visual identity:
geom_point_euiss()- Styled pointsgeom_line_euiss()- Styled linesgeom_text_euiss()- Styled text with proper colorsgeom_col_euiss()- Styled columnsgeom_area_euiss()- Styled areasgeom_linerange_x_euiss()/geom_linerange_y_euiss()- Styled ranges
pal_cat_euiss()- Categorical colorspal_div_euiss()- Diverging colorspal_seq_b_euiss(),pal_seq_g_euiss(),pal_seq_r_euiss()- Sequential colorspal_seq_v_euiss(),pal_seq_vir_euiss()- Specialized sequential
pal_cat_euiss_enhanced()- Enhanced categoricalpal_seq_r_light_euiss()- Light red sequentialpal_seq_g_light_euiss()- Light green sequentialpal_seq_b_light_euiss()- Light blue sequentialpal_seq_bathy_euiss()- Bathymetry/depth visualization
theme_euiss()- Main EUISS theme (set automatically)theme_euiss_ticks()- Version with axis tickstheme_euiss_mar0()- Version with custom marginseuiss_mar0()- Minimal margin utility
chart_col_horizontal()- Complete horizontal column chartchart_line()- Complete line chart with labels
ggsave_euiss()- Enhanced save function with publication presetseuiss_get_dimensions()- Get standard publication dimensions
The package now integrates functionality similar to style_v8.R:
- Automatic theme and color setup
- Optional package loading with
euiss_load_packages() - Enhanced font management
- Publication dimension management
- Utility functions for common workflows
To regenerate documentation:
roxygen2::roxygenise()To render README:
devtools::build_readme()- 0.1.2: Enhanced integration with style script functionality, improved font handling, additional color palettes, utility functions
- 0.1.1: Initial stable release
- 0.1.0: Initial development version