Skip to main content

Convert mathematical equations into graph structures for visualization

Project description

numgraph

PyPI version Python 3.8+

A Python library that converts mathematical equations into graph/network structures for visualization and analysis.

What is numgraph?

numgraph turns mathematical relationships into nodes and edges, then visualizes them as interactive graphs. This helps users understand how variables and operations interact.

Use cases:

  • Students learning algebra and calculus
  • Data scientists analyzing feature dependencies
  • Researchers visualizing mathematical formulas

Quick Start

Installation

Install from PyPI:

pip install numgraph-equation

Or install from source:

git clone https://github.com/Ayush-07-Mishra/numgraph.git
cd numgraph
pip install -e .

Basic Usage

from numgraph import make_graph

# Parse and visualize an equation
make_graph("x**2 + y**2 = 25", visualize=True)

# Create a function graph
make_graph("y = x**2 - 4*x + 3", func_range=(-10, 10), visualize=True)

Features

  • Parse mathematical equations using SymPy
  • Build graph structures with NetworkX
  • Interactive HTML visualizations with PyVis
  • Static plots with Matplotlib
  • Export to GraphML and GEXF formats
  • Function plotting with custom ranges

Examples

Circle Equation

from numgraph import make_graph

# Visualize the circle equation
make_graph("x**2 + y**2 = 25", visualize=True, save_path="circle.html")

Quadratic Function

from numgraph import make_graph

# Plot a parabola
make_graph("y = x**2 - 4*x + 3", func_range=(-2, 6), visualize=True)

Custom Graph Analysis

from numgraph.parser import EquationParser
from numgraph.graph_builder import GraphBuilder
from numgraph.visualizer import Visualizer

# Parse equation
parser = EquationParser("x**2 + 2*x*y + y**2 = 16")
nodes, edges = parser.parse()

# Build graph
builder = GraphBuilder(nodes, edges)
graph = builder.build()

# Visualize
viz = Visualizer(graph)
viz.show_interactive()  # Interactive HTML visualization
viz.show_static()       # Static matplotlib plot

API Reference

make_graph(equation, visualize=False, func_range=None, save_path=None)

Main function to create and optionally visualize equation graphs.

Parameters:

  • equation (str): Mathematical equation or function
  • visualize (bool): Whether to show visualization
  • func_range (tuple): Range for function evaluation (min, max)
  • save_path (str): Path to save interactive HTML visualization

Returns:

  • networkx.Graph: Graph representation of the equation

Project Structure

numgraph/
├── numgraph/
│   ├── __init__.py         # Main API
│   ├── parser.py           # Equation parsing
│   ├── graph_builder.py    # Graph creation
│   ├── visualizer.py       # Visualization
│   └── dataset.py          # Dataset utilities
├── examples/
│   ├── circle_equation.py
│   ├── quadratic_function.py
│   └── custom_analysis.py
├── tests/
│   ├── test_parser.py
│   ├── test_graph_builder.py
│   └── test_visualizer.py
├── setup.py
├── README.md
└── requirements.txt

Testing

# Run all tests
python -m pytest tests/

# Run specific test
python -m pytest tests/test_parser.py -v

Dependencies

  • sympy - Symbolic mathematics and parsing
  • networkx - Graph creation and analysis
  • pyvis - Interactive network visualization
  • matplotlib - Static plotting
  • numpy - Numerical computations

Contributing

Contributions are welcome! Please read CONTRIBUTING.md for details.

Contact

For questions or support: luckymishra312004@gmail.com

For Students

  • Visualize how equations are structured
  • Understand operator precedence
  • See variable relationships clearly

For Educators

Contact

For questions or support: luckymishra312004@gmail.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

numgraph_equation-0.1.2.tar.gz (15.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

numgraph_equation-0.1.2-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file numgraph_equation-0.1.2.tar.gz.

File metadata

  • Download URL: numgraph_equation-0.1.2.tar.gz
  • Upload date:
  • Size: 15.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for numgraph_equation-0.1.2.tar.gz
Algorithm Hash digest
SHA256 338f2f111073576092f04ae61ae4b2bf48296f5f078106daafc540f0eeae55e8
MD5 8aae85dc852c4ae9b1a6d10928a02c7a
BLAKE2b-256 46b1d33019057d9dbc1065374a1745f75af6d0d0e3a071496a3ffc8097451ab7

See more details on using hashes here.

File details

Details for the file numgraph_equation-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for numgraph_equation-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 dc466a97c4aaf48694dabdb852f48ce98190c5c9e3311d4e2e8f58099a79f7f4
MD5 36090ab8993736447fad72622eaaecb0
BLAKE2b-256 9eb2423c40370ed9f7db9f94ba131b11377c0311ac61f256d421b9791d69ffc3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page