Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. R
  3. waffle

waffle

Rv1.0.2

An R package for creating waffle (square pie) charts and isotype pictograms using ggplot2.

GitHubGitHub
794 stars96 forks0 contributors

What is waffle?

Waffle is an R package designed to create waffle charts, a type of square pie chart used to visualize proportions of categorical data. It solves the problem of representing parts of a whole in a grid-based format, which can be more intuitive than traditional pie charts. The package also supports pictograms using Font Awesome icons for enhanced visual communication.

Target Audience

R users, data analysts, and researchers who need to create clear, engaging visualizations of categorical proportions, particularly for presentations, reports, or dashboards.

Value Proposition

Developers choose Waffle for its seamless integration with ggplot2, allowing for extensive customization, and its unique ability to create both classic waffle charts and modern pictogram charts within the familiar R ecosystem.

Overview

:maple_leaf: Make waffle (square pie) charts in R

Use Cases

Best For

  • Creating square pie charts to show percentage breakdowns
  • Visualizing survey results or demographic distributions
  • Building infographics with pictogram representations
  • Comparing categorical proportions across multiple facets
  • Enhancing reports with non-standard chart types
  • Teaching data visualization concepts in R

Not Ideal For

  • Projects requiring interactive, web-based dashboards with live data updates
  • Statistical analyses needing advanced data modeling or transformation capabilities
  • Environments where installing custom fonts like Font Awesome is restricted or impossible
  • Teams seeking a comprehensive visualization library with diverse chart types beyond waffle charts

Pros & Cons

Pros

ggplot2 Ecosystem Integration

Functions return ggplot2 objects, enabling seamless use of themes, scales, and other ggplot2 extensions for deep customization, as shown in examples with hrbrthemes and ggthemes.

Pictogram Chart Support

Integrates Font Awesome glyphs through geom_pictogram and scale_label_pictogram, allowing for engaging isotype visualizations without external image handling, with helpers like fa_list for glyph management.

Advanced Layout Control

The iron() function facilitates vertical alignment and stitching of multiple waffle plots, useful for comparative displays, as demonstrated in the trout abundance example.

Flexible Waffle Options

Offers parameters like n_rows, flip, and make_proportional for creative control over grid layout, and supports various grid shapes beyond the traditional 10x10 setup.

Cons

Font Dependency Complexity

Requires manual installation of Font Awesome fonts via install_fa_fonts(), which can fail on systems without proper permissions or internet access, adding setup overhead.

Static Visualization Limitation

Outputs are static ggplot2 plots, lacking built-in interactivity for web applications or dynamic data exploration, limiting use in modern dashboard tools without additional frameworks like Shiny.

Version Discrepancy Issues

The CRAN version (0.7.0) is outdated compared to GitHub (1.0.2), potentially leading to missing features and confusion for users relying on official repositories.

Frequently Asked Questions

Quick Stats

Stars794
Forks96
Contributors0
Open Issues52
Last commit2 years ago
CreatedSince 2015

Tags

#data-visualisation#datavisualization#r-package#statistical graphics#data-visualization#r#rstats#ggplot2#font-awesome

Built With

g
ggplot2
R
R

Included in

R6.4k
Auto-fetched 7 hours ago

Related Projects

ggplot2 <img class="emoji" alt="heart" src="https://cdn.jsdelivr.net/gh/qinwf/awesome-R@3c66da6e291bcc0520b1649125b0bed750896a9a/heart.png" height="20" align="absmiddle" width="20">ggplot2 <img class="emoji" alt="heart" src="https://cdn.jsdelivr.net/gh/qinwf/awesome-R@3c66da6e291bcc0520b1649125b0bed750896a9a/heart.png" height="20" align="absmiddle" width="20">

An implementation of the Grammar of Graphics in R

Stars6,957
Forks2,132
Last commit2 months ago
PatchworkPatchwork

The Composer of ggplots

Stars2,611
Forks170
Last commit10 months ago
ggstatsplotggstatsplot

Enhancing {ggplot2} plots with statistical analysis 📊📣

Stars2,187
Forks203
Last commit2 months ago
gganimategganimate

A Grammar of Animated Graphics

Stars1,982
Forks313
Last commit10 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub