Graph Analyzer is a Django-based web application that allows users to upload an image of a graph, extract the underlying data, and analyze it for key features such as minima, maxima, and predicted future values. This tool is useful for visualizing network traffic or analyzing real-world data represented in graph form, including the scientific and financial data.
Ensure you have the following installed:
- Python 3.8+
- pip (Python package manager)
- Django 4.x
- OpenCV 4.x
- NumPy
- scikit-learn
git clone https://github.com/<your_username>/Graph-Analyzer.git
cd Graph-Analyzer
python3 -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
pip install -r requirements.txt
python manage.py migrate
python manage.py runserver
Visit http://127.0.0.1:8000/
in your browser to start uploading graph images.
- Upload a Graph Image: Navigate to the home page and choose an image file that contains a graph.
- Graph Analysis: The application will process the image, extract data points, and find the minima, maxima, and predict the next 5 values.
- View Results: Once processed, the results will display the detected minima, maxima, and predicted values.
- Step 1: Upload an image of a line graph showing time vs network traffic.
- Step 2: The application extracts the data points from the image.
- Step 3: Minima, maxima, and the next 5 values are calculated and displayed on the home page.
If you encounter issues with the image not loading properly or the image processing functions failing, ensure that:
- The image is correctly uploaded.
- The image path is accessible to the application (check permissions and file locations).
- Fork the repository
- Create a feature branch (
git checkout -b feature-name
) - Commit your changes (
git commit -m "Add some feature"
) - Push to the branch (
git push origin feature-name
) - Open a pull request
This project is licensed under the MIT License - see the LICENSE file for details.