I'm a beginner with Blender and am new to programming. I'm trying to visualize data in Blender and came across different Python data visualization libraries like Matplotlib, Seaborn and Plotly. I'm wondering if it is possible to import these libraries to use their functionality to script something inside of blender, to visualise and animate data. For example I want to visualize data using layouts like tree graphs or network graphs.

As I understand it these data visualization libraries are mostly used in browsers and use SVG to visualize the data, I therefore want to understand if they could be compatible for use in Blender, using meshes, curves, vertices, etc., or if it would be necessary to script these visualisations using only Blenders own API (and maybe libraries like math or Numpy).

For example, if I would want to make a tree graph, could I use a method from one of these libraries to implement a tree graph inside of blender using vertices and edges as the nodes and edges of the tree? Would there be a method that would for example return a list of coordinates for the vertices and a list of tuples for the edges?

I was trying to search the documentation of these libraries for an answer but got quite overwhelmed and most tutorials about these libraries use things like Jupyter Notebook so I wouldn't know how to adapt that to Blender. I'm not sure where to look for answers or to get on the right track to any progress on this question, that's why I'm asking here.

I did come across some modules or addonds like: BlenderDataVis, but I would like to have some more control over my graphs ideally. Looking as this code I don't see any of these data visualization libraries so that got me thinking if it could be possible at all.

  • $\begingroup$ You can use Python libraries like Matplotlib but you need to install them using the pip that comes with the Python distribution of Blender. Then you can just import these libraries and whatever you want. $\endgroup$ Dec 2, 2021 at 17:22


You must log in to answer this question.

Browse other questions tagged .