Skip to content

3D plots for graphs #20

@sadamov

Description

@sadamov

Title: Add 3D Graph Plotting Functionality Using Plotly

Description:
We should add functionality to visualize the graph structures in 3D using Plotly. This will help in better understanding the spatial relationships between nodes and edges in our graph-based neural weather prediction models.

Tasks:

  1. Implement a function to plot the graph structure in 3D using Plotly.
  2. The function should support both hierarchical and non-hierarchical graphs.
  3. Add options to save the plot as an interactive HTML file and to toggle axis visibility.
  4. Ensure that the function can handle different types of edges (e.g., M2G, G2M, M2M) with distinct colors and line widths.
  5. Integrate the function into the existing codebase, ensuring compatibility with the current graph data structures.

Example:
https://github.com/mllam/neural-lam/blob/5b71be3c68d815e0e376ee651c14f09d801f86de/plot_graph.py

Challenges:
The html files can easily be >100MB in size, crashing most browsers. We might need to implement some performance/size tricks to prevent this.

Surplus:
3D objects could be rendered for Blender, which supports a Python-like DSL as a backend. This would allows us to benefit from all the 3D modeling techniques (e.g. shaders) for even nicer looking graphs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions