jjstatsplot

October 9, 2025 Β· View on GitHub

A wrapper for ggstatsplot: jjstatsplot help researchers to generate plots in jamovi based on ggstatsplot package. Also includes additional plots

R-CMD-check jamovi ggstatsplot-wrapper License: GPL (>= 2)

Statistical Visualization Made Simple

jjstatsplot brings the power of ggstatsplot to jamovi, making publication-ready statistical visualizations accessible through an intuitive point-and-click interface. This R package bridges the gap between sophisticated statistical plotting and user-friendly data analysis, enabling researchers to create informative plots enriched with statistical details without writing code. With 18 analysis types, jjstatsplot covers everything from basic distributions to advanced cluster visualizations.

🎯 Why jjstatsplot?

Traditional statistical software often separates visualization from analysis, requiring users to manually annotate plots with statistical results. jjstatsplot integrates these steps, automatically adding appropriate statistical tests, effect sizes, and sample sizes to your visualizations. Whether you're exploring data distributions, comparing groups, examining correlations, or analyzing categorical relationships, jjstatsplot provides the right visualization with the right statisticsβ€”all through jamovi's familiar interface.

✨ Key Features

πŸ“Š Comprehensive Analysis Types

CategoryAnalysisDescriptionStatistical Details
ContinuousHistogram (jjhistostats)Distribution visualizationShapiro-Wilk test, robust measures
Continuous vs ContinuousScatter Plot (jjscatterstats)Relationship analysisCorrelation coefficients, regression lines
Continuous vs ContinuousCorrelation Matrix (jjcorrmat)Multiple correlationsSignificance levels, correlation strength
Continuous vs ContinuousHull Plot (hullplot)Cluster visualizationPolygonal boundaries, group membership
Categorical vs ContinuousBox-Violin Plot (jjbetweenstats)Between-groups comparisonANOVA, Kruskal-Wallis, post-hoc tests
Categorical vs ContinuousBox-Violin Plot (jjwithinstats)Within-subjects comparisonRepeated measures ANOVA, Friedman test
Categorical vs ContinuousDot Chart (jjdotplotstats)Mean comparisonsConfidence intervals, effect sizes
Categorical vs CategoricalBar Chart (jjbarstats)Frequency analysisChi-square, Fisher's exact test
Categorical vs CategoricalPie Chart (jjpiestats)Proportion visualizationGoodness of fit tests
DistributionWaffle Chart (jjwaffle)Part-to-whole visualizationCustom proportions display
Advanced DistributionsRaincloud (raincloud)Distribution + individual pointsKernel density, quartiles
Advanced DistributionsAdvanced Raincloud (advancedraincloud)Enhanced raincloud plotsLongitudinal support, multi-group comparison
Distribution ComparisonRidge Plots (jjridges)Multiple distribution overlayDensity curves by groups
Network/FlowArc Diagrams (jjarcdiagram)Network visualizationConnection strength, node properties
Segmented AnalysisSegmented Bar (jjsegmentedtotalbar)Stacked proportionsTotal and segment statistics
Time SeriesLine Chart (linechart)Trends over timeChange rates, seasonal patterns
Ranked DataLollipop Chart (lollipop)Ranked comparisonsOrdered categorical analysis
Extended AnalysisStats Plot 2 (statsplot2)Extended statistical plotsMultiple statistical approaches

πŸš€ Advanced Capabilities

  • Dual-Mode Operation: Analyze single variables or multiple variables simultaneously
  • Grouped Analysis: Automatic faceting by grouping variables
  • Statistical Flexibility: Choose between parametric, non-parametric, robust, and Bayesian approaches
  • Customization Options: Control plot aesthetics, statistical details, and output formatting
  • Theme Support: Use jamovi's consistent styling or ggstatsplot's original themes
  • Dynamic Sizing: Plots automatically adjust to accommodate your data

πŸ“¦ Installation

For jamovi Users

  1. Open jamovi
  2. Go to Modules β†’ jamovi library
  3. Search for "jjstatsplot"
  4. Click Install

For R Users

# Install from GitHub (latest development version)
if (!require(devtools)) install.packages("devtools")
devtools::install_github("sbalci/jjstatsplot")

# Load the package
library(jjstatsplot)

πŸƒ Quick Start

In jamovi

  1. Open your dataset in jamovi
  2. Navigate to the Analyses tab
  3. Find jjstatsplot in the analysis menu
  4. Select your desired analysis type
  5. Drag and drop variables to the appropriate fields
  6. Customize options as needed

In R

# Example: Create a histogram with statistical annotations
jjhistostats(
  data = iris,
  dep = "Sepal.Length",
  xlab = "Sepal Length (cm)",
  results.subtitle = TRUE
)

# Example: Compare groups with box-violin plots
jjbetweenstats(
  data = mtcars,
  dep = "mpg",
  group = "cyl",
  type = "nonparametric"
)

πŸ”§ Development

Requirements

  • R (β‰₯ 4.0.0)
  • jamovi (β‰₯ 1.2.19)
  • Core dependencies: jmvcore, R6, ggstatsplot

Building from Source

# Clone the repository
git clone https://github.com/sbalci/jjstatsplot.git

# Install development dependencies
devtools::install_deps()

# Check package
devtools::check()

# Build jamovi module
jmvtools::install()

πŸ“š Documentation

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

Reporting Issues

πŸ“„ Citation

If you use jjstatsplot in your research, please cite the main ClinicoPath project:

Serdar Balci (2025). ClinicoPath jamovi Module. doi:10.5281/zenodo.3997188
[R package]. Retrieved from https://github.com/sbalci/ClinicoPathJamoviModule

Please also cite the underlying packages:

  • ggstatsplot: Patil, I. (2021). Visualizations with statistical details: The 'ggstatsplot' approach. Journal of Open Source Software, 6(61), 3167.
  • jamovi: The jamovi project (2024). jamovi (Version 2.5) [Computer Software]. Retrieved from https://www.jamovi.org

πŸ“ License

This project is licensed under the GPL (β‰₯ 2) License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Indrajeet Patil for creating ggstatsplot
  • The jamovi team for their excellent statistical platform
  • All contributors and users who have helped improve this package

Made with ❀️ for the jamovi community