ggpsychro

R-CMD-check

‘ggplot2’ extension for making psychrometric charts.

Features

Installation

You can install the released version of ggpsychro from CRAN with:

install.packages("ggpsychro")

You can install the development version from GitHub with:

# install.packages("remotes")
remotes::install_github("hongyuanjia/ggpsychro")

Example

The creation of a psychrometric chart starts with ggpsychro(). The result is a ggplot object, so grids, stats, geoms, scales, and themes can be added with the same + workflow used by ggplot2.

ggpsychro(tdb_lim = c(0, 50), hum_lim = c(0, 30)) +
    psychro_preset("minimal")

Minimal psychrometric chart with dry-bulb temperature, humidity ratio, and reference grids.

Comfort overlays can be added as regular layers. The PMV overlay combines root-traced filled bands, PMV isolines, and text labels on the same psychrometric chart.

ggpsychro(tdb_lim = c(5, 40), hum_lim = c(0, 24)) +
    psychro_preset("minimal") +
    geom_comfort_pmv(
        contour_levels = seq(-3, 3, by = 0.5),
        n = c(70, 48)
    ) +
    scale_fill_comfort_pmv(name = "PMV")

Psychrometric chart with a PMV comfort overlay, filled blue-white-red PMV bands, and labelled PMV contour lines.

Learn more

The longer examples live on the pkgdown site:

Acknowledgements

ggpsychro’s recent chart-layout and higher-level layer work was informed by two excellent psychrometric chart projects:

ggpsychro does not vendor code from those projects. The implementation remains R/ggplot2-native, with psychrometric property calculations delegated to PsychroLib where appropriate.

Author

Hongyuan Jia

License

The project is released under the terms of MIT License.

Copyright © 2019-2026 Hongyuan Jia

Contribute

Please note that the ‘ggpsychro’ project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.