https://github.com/hari7261/data-visualization
Python-based application built using CustomTkinter for the graphical user interface (GUI) and Matplotlib for data visualization. It allows users to import datasets, perform real-time data visualization, and analyze data using various chart types and machine learning techniques.
https://github.com/hari7261/data-visualization
data-analysis data-visualization export hari7261 import python realtime-visualization
Last synced: 4 months ago
JSON representation
Python-based application built using CustomTkinter for the graphical user interface (GUI) and Matplotlib for data visualization. It allows users to import datasets, perform real-time data visualization, and analyze data using various chart types and machine learning techniques.
- Host: GitHub
- URL: https://github.com/hari7261/data-visualization
- Owner: hari7261
- Created: 2025-01-14T14:19:23.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-01-14T14:45:07.000Z (9 months ago)
- Last Synced: 2025-03-28T22:32:29.471Z (7 months ago)
- Topics: data-analysis, data-visualization, export, hari7261, import, python, realtime-visualization
- Language: Python
- Homepage:
- Size: 19.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Modern Data Visualization App
## Overview
The **Modern Data Visualization App** is a Python-based application built using `CustomTkinter` for the graphical user interface (GUI) and `Matplotlib` for data visualization. It allows users to import datasets, perform real-time data visualization, and analyze data using various chart types and machine learning techniques. The app is designed to be user-friendly and flexible, supporting both numerical and categorical data.---
## Features
1. **Data Import**:
- Import datasets in CSV format.
- Automatically detect numerical and categorical columns.2. **Data Visualization**:
- Supports multiple chart types:
- Line Graph
- Bar Chart
- Pie Chart
- Scatter Plot
- Histogram
- Area Chart
- Dynamically update visualizations based on user input.3. **Real-Time Data Streaming**:
- Simulate real-time data updates for dynamic visualization.4. **Machine Learning Integration**:
- Apply machine learning techniques:
- Trend Line (Linear Regression)
- Clustering (K-Means)5. **Overall Calculations**:
- Display summary statistics for numerical columns (mean, median, min, max, etc.).
- Display value counts for categorical columns.6. **Export Graphs**:
- Save visualizations as PNG, JPEG, or PDF files.---
## How to Use
1. **Import Data**:
- Click the **Import Data** button to load a CSV file.
- The app will automatically detect and display the columns in the dataset.2. **Select Column and Chart Type**:
- Choose a column from the dropdown menu.
- Select a chart type (e.g., Line Graph, Bar Chart, Pie Chart).3. **Update Visualization**:
- Click the **Update Visualization** button to generate the graph.4. **Enable Real-Time Streaming**:
- Check the **Enable Real-Time Streaming** checkbox to simulate real-time data updates.5. **Apply Machine Learning**:
- Select a machine learning option (Trend Line or Clustering) from the dropdown menu.6. **Export Graphs**:
- Click the **Export Graph** button to save the current visualization as an image.---
## Prerequisites
To run the app, ensure you have the following Python libraries installed:
- `customtkinter`
- `matplotlib`
- `pandas`
- `numpy`
- `scikit-learn`You can install the required libraries using pip:
```bash
pip install customtkinter matplotlib pandas numpy scikit-learn
```---
## Code Structure
- **GUI**:
- Built using `CustomTkinter` for a modern and customizable interface.
- Includes a sidebar for controls and a main content area for visualizations.- **Data Handling**:
- Uses `pandas` to read and process CSV files.
- Automatically detects numerical and categorical columns.- **Visualization**:
- Uses `matplotlib` to create and display graphs.
- Supports multiple chart types and dynamic updates.- **Machine Learning**:
- Integrates `scikit-learn` for trend line fitting and clustering.---
## Example Dataset
The app works with any CSV dataset. Here’s an example dataset (`students.csv`):```csv
Name,Age,Math Score,Science Score,English Score,Grade
Alice,18,85,90,88,A
Bob,17,78,82,75,B
Charlie,19,92,88,91,A
Diana,18,65,70,68,C
Eva,17,88,85,90,A
Frank,19,72,75,70,B
Grace,18,95,92,94,A
Henry,17,60,65,62,D
Ivy,19,80,78,82,B
Jack,18,55,50,58,F
```---
## Explanation
The app is designed to be a versatile tool for data visualization and analysis. It combines the simplicity of a GUI with the power of Python's data science libraries. Key features include:
- **Dynamic Updates**: Visualizations update in real-time based on user input.
- **Flexibility**: Supports both numerical and categorical data.
- **Extensibility**: Easy to add new features and enhancements.---
## How to Run
1. Clone the repository or download the script.
2. Install the required libraries (see **Prerequisites**).
3. Run the script:
```bash
python app.py
```
4. Use the app to import data, visualize it, and perform analysis.---
## License
This project is open-source and available under the MIT License. Feel free to use, modify, and distribute it as needed.---
## Author
- **Hariom Kumar**
- Contact: [Your Email Address]---
Enjoy exploring your data with the **Modern Data Visualization App**! Let me know if you have any questions or suggestions. 🚀