scattyr: Generic Scatter Plots in R & Python
Modular, reactive generic scatter plot applications built with R and Python
scattyr is a unified framework providing modular, reactive generic scatter plot applications built with R (ggplot2 + bslib / shiny) and Python (plotnine + shiny / shinywidgets).
🎨 Demo Cards
| R / Shiny Scatter Plot | Python / plotnine Scatter Plot |
|---|---|
![]() |
![]() |
| Interactive Shinylive Demo: R Scatter App | Interactive Shinylive Demo: Python Scatter App |
App Source: scatterPlotApp.R |
App Source: scatter_plot_app.py |
Core Function: scatter_ggplot() |
Core Function: scatter_plotnine() |
Open circle symbols (shape = 1), Dark2 palette, dynamic faceting |
Open symbols (fill = "none", stroke = 1.5), plotnine grammar |
🚀 Quick Start
1. R Scatter Plot App
From Shell
Rscript -e 'source("scatterPlotApp.R"); scatterPlotApp()'From R / Quarto (.qmd) code block
source("scatterPlotApp.R")
scatterPlotApp()2. Python Scatter Plot App
From Shell
shiny run scatter_plot_app.pyFrom Python / Quarto (.qmd) code block
from scatter_plot_app import app
app.run()📂 Repository Structure
scatter.R: Containsscatter_ggplot()extracted plotting logic and Roxygen2 documentation.scatterPlotApp.R: R Shiny application module (scatterPlotApp,scatterPlotServer,scatterPlotInput,scatterPlotOutput).theme.R: Theme configuration functions (scattyr_theme(),scattyr_plot_theme()).scatter.py: Python plotting library functionscatter_plotnine()usingplotnine.scatter_plot_app.py: Shiny for Python application module.demos/index.qmd: Quarto Shinylive interactive Demos Gallery listing page.walkthrough.md: Comprehensive refactoring and development walkthrough.
📄 License
MIT License. See LICENSE for details.


