A modular R Shiny application for uploading datasets and creating customizable ggplot2 visualizations.
- Uses ggplot2 only for chart generation.
- X/Y controls are generated dynamically with
renderUI()after data loads. - CSV-specific controls are shown only for
.csvuploads. - Excel, SAS, and RDS uploads do not show CSV separator/header controls.
- Custom CSS is loaded through
page_navbar(header = ...), which removes theNavigation containers expect...warning. - Source code contains extensive comments explaining the behind-the-scenes logic.
.csv.xlsx.xls.sas7bdat.rds
- Bar chart
- Line graph
- Scatter plot
- Box plot
- Histogram
- Waterfall plot
- Butterfly plot
- Candlestick-style OHLC chart
dataviz_studio_updated/
├── global.R
├── ui.R
├── server.R
├── R/
│ └── helpers.R
├── www/
│ └── styles.css
├── sample_data.csv
├── sample_financial.csv
└── README.md
install.packages(c(
"shiny",
"bslib",
"DT",
"ggplot2",
"readxl",
"haven",
"scales"
))Open R/RStudio in the extracted project folder and run:
shiny::runApp()Use sample_data.csv for bar, line, scatter, box, histogram, waterfall, and
butterfly charts.
Use sample_financial.csv for the candlestick chart.
When a .csv file is uploaded, the app shows:
- CSV has column names
- CSV separator
When .xlsx, .xls, .sas7bdat, or .rds is uploaded, those controls are
hidden because they are not relevant to those formats.
"# DataViz"