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.
-
Data Import:
- Import datasets in CSV format.
- Automatically detect numerical and categorical columns.
-
Data Visualization:
- Supports multiple chart types:
- Line Graph
- Bar Chart
- Pie Chart
- Scatter Plot
- Histogram
- Area Chart
- Dynamically update visualizations based on user input.
- Supports multiple chart types:
-
Real-Time Data Streaming:
- Simulate real-time data updates for dynamic visualization.
-
Machine Learning Integration:
- Apply machine learning techniques:
- Trend Line (Linear Regression)
- Clustering (K-Means)
- Apply machine learning techniques:
-
Overall Calculations:
- Display summary statistics for numerical columns (mean, median, min, max, etc.).
- Display value counts for categorical columns.
-
Export Graphs:
- Save visualizations as PNG, JPEG, or PDF files.
-
Import Data:
- Click the Import Data button to load a CSV file.
- The app will automatically detect and display the columns in the dataset.
-
Select Column and Chart Type:
- Choose a column from the dropdown menu.
- Select a chart type (e.g., Line Graph, Bar Chart, Pie Chart).
-
Update Visualization:
- Click the Update Visualization button to generate the graph.
-
Enable Real-Time Streaming:
- Check the Enable Real-Time Streaming checkbox to simulate real-time data updates.
-
Apply Machine Learning:
- Select a machine learning option (Trend Line or Clustering) from the dropdown menu.
-
Export Graphs:
- Click the Export Graph button to save the current visualization as an image.
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:
pip install customtkinter matplotlib pandas numpy scikit-learn
-
GUI:
- Built using
CustomTkinter
for a modern and customizable interface. - Includes a sidebar for controls and a main content area for visualizations.
- Built using
-
Data Handling:
- Uses
pandas
to read and process CSV files. - Automatically detects numerical and categorical columns.
- Uses
-
Visualization:
- Uses
matplotlib
to create and display graphs. - Supports multiple chart types and dynamic updates.
- Uses
-
Machine Learning:
- Integrates
scikit-learn
for trend line fitting and clustering.
- Integrates
The app works with any CSV dataset. Here’s an example dataset (students.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
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.
- Clone the repository or download the script.
- Install the required libraries (see Prerequisites).
- Run the script:
python app.py
- Use the app to import data, visualize it, and perform analysis.
This project is open-source and available under the MIT License. Feel free to use, modify, and distribute it as needed.
- 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. 🚀