Visual modeling and visualization of academic entities (students, professors, courses, projects, and publications) using Python and NetworkX.
This synthetic dataset represents the core components of an academic environment:
- Students (name, faculty number, major, course year, academic status)
- Professors (name, position, major, courses taught)
- Courses (course code, credits)
- Research Projects (title, leader, participants)
- Publications (title, authors)
All entities are stored as nodes in a directed graph (DiGraph), and relationships are edges with labels such as Enrolled In, Teaches, Participates In, Leads, and Author.
Python 3.xNetworkXfor graph creation and exportMatplotlibfor static visualization- Export formats:
.graphml,.gexf,.json
The graph includes:
- 7 students with varying majors and academic levels
- 2 professors leading courses and projects
- 2 core university courses
- 2 research projects with multi-student participation
- 1 academic publication with student-professor co-authorship
Each edge encodes a directional relationship (e.g., Professor -> Course, Student -> Research Project).
The script visualizes the graph using a spring layout and assigns node colors by type:
- π© Students
- π§ Professors
- π¦ Courses
- πͺ Research Projects
- π¨ Publications
Result: a clear, color-coded view of the academic ecosystem.
The final graph is exported in 3 formats:
academic_graph.graphmlβ for use in Gephi, yEd, Neo4jacademic_graph.gexfβ for large-scale graph platformsacademic_graph.jsonβ for D3.js or custom visualization
python networkx graph-visualization academic-graph education-data students professors courses research-projects graph-export
This project is a compact and educational example of using graphs to model real-world academic data. It is suitable for:
- π Teaching graph theory
- π University demos
- π Visual analysis tools
- π§ͺ Data modeling experiments