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.x
NetworkX
for graph creation and exportMatplotlib
for 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