Pravat-21/Visualization-Project-using-Plotly---Informative-Dashboard-for-INDIA
An interactive Streamlit dashboard for visualizing and analyzing India's Census Data with state-wise and district-wise demographic insights, sex ratios, and literacy statistics. Perfect for researchers, policymakers, and data enthusiasts seeking to understand India's demographic landscape.
π Data Visualization with Python
A comprehensive data visualization and analysis platform for India's Census Data, built with Python and Streamlit. This interactive dashboard provides insightful visualizations and analytics at national, state, and district levels.
β¨ Features
- π Overall Analysis: National-level demographic insights and trends
- πΊοΈ Statewise Analysis: Detailed statistics for individual states
- ποΈ Districtwise Analysis: Granular data visualization at the district level
- π Interactive Visualizations: Dynamic charts powered by Plotly and Seaborn
- π― User-Friendly Interface: Clean and intuitive Streamlit dashboard
- π± Responsive Design: Works seamlessly across different screen sizes
π― Key Metrics Analyzed
- Population demographics (Male/Female distribution)
- Sex ratio calculations
- Literacy vs Illiteracy rates
- District-wise comparative analysis
- State-level trends and patterns
π Quick Start
Prerequisites
- Python 3.13 or higher
- pip or uv package manager
Installation
-
Clone the repository
git clone <repository-url> cd "Data Visualization with Python"
-
Set up virtual environment (optional but recommended)
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
-
Install dependencies
Using pip:
pip install -r requirements.txt
Or using uv:
uv pip install -r requirements.txt
-
Run the application
streamlit run app.py
-
Open your browser
click here to view the dashboard
π Project Structure
Data Visualization with Python/
β
βββ app.py # Main Streamlit application
βββ overall.py # Overall analysis module
βββ statewise.py # State-level analysis module
βββ distwise.py # District-level analysis module
βββ main.py # Additional main script
β
βββ census_data/ # Census datasets
β βββ final_df.csv # Processed census data
β
βββ notebooks/ # Jupyter notebooks for exploration
β βββ 01_exp.ipynb
β βββ 02_exp.ipynb
β
βββ messy_data/ # Raw/unprocessed data files
β
βββ requirements.txt # Project dependencies
βββ pyproject.toml # Project configuration
βββ .gitignore # Git ignore rules
βββ .python-version # Python version specification
βββ README.md # Project documentation (this file)
π οΈ Technologies Used
Core Libraries
- Streamlit - Web application framework
- Pandas - Data manipulation and analysis
- NumPy - Numerical computing
- Matplotlib - Static visualizations
- Seaborn - Statistical data visualization
- Plotly - Interactive charts and graphs
Development Tools
- Git - Version control
- Jupyter Notebook - Data exploration and prototyping
- VS Code - Development environment
π Usage
Overall Analysis
Click on the "Overall-Analysis" button in the sidebar to view:
- National demographic overview
- Population distribution patterns
- Key statistical insights
Statewise Analysis
- Select "Statewise-Analysis" from the dropdown
- Choose your desired state
- Click "Show analysis" to view state-specific data
Districtwise Analysis
- Select "Districtwise-Analysis" from the dropdown
- Choose a state (or select "All India")
- Select a specific district
- Click "Show analysis" to view detailed district data
π Data Insights
The dashboard automatically calculates and displays:
- Sex Ratio:
(Female/Male) Γ 100 - Illiteracy Ratio:
(Illiterate/Literate) Γ 100 - District codes for easy identification
- Comparative visualizations across regions
π€ Contributing
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
π Known Issues
- Working on optimizing large dataset loading times
- Enhancing mobile responsiveness for complex visualizations
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π€ Author
Pravat Patra
π Acknowledgments
- Census data provided by the Government of India
- Streamlit community for excellent documentation
- Python data science community for amazing libraries
π§ Contact
For questions, suggestions, or feedback, please open an issue in the repository.
β Star this repository if you find it helpful!
Made with β€οΈ and Python