Skip to content

derekcbr/BlenderDataVis

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Addon logo Blender logo

Data visualisation addon for blender

Load data into Blender and create visualisations!

User manual | Video | Blender Market | Column Extractor | Buy me a coffee

Quickstart

Download data_vis.zip and install it in Blender (Edit -> Preferences -> Addons). Or get the folder data_vis (from repo or the zip) and move it into blender addons directory manually.

Possible results

Introduction

Brief section about how to use the addon and what principles are applied to data and visualisations and how addon works. Addon extends Blender UI in two places:

  • Add Object Menu - Create new visualisations under Chart subgroup (Shift + A)
  • View3D Tools - Manipulate with data and some properties (N - DataVis tab) - this position can be edited in settings

Addon uses Blender coordinate system, 2D chart is generated along X and Z axis, 3D charts extend along Y axis. Form of chart creation and parametrization is inspired by matplotlib. I tried to make chart creation simple but customizable.

CSV Format

Addon supports values separated by , (commas) Data are in X, Y, [Z] format, where each entry is on new line. First line can contain labels for axis. Two types of data are supported:

Categorical X, Y X is category and Y is e. g. X occurence

species, occurance
dogs, 5
cats, 10
parrots, 2

Numerical X, Y, [Z] are numerical values.

x, sin(x)
0, 0.0
0.785, 0.706
1.57, 0.99
3.14, 0.0
x, y, x + y
0, 0, 0
0, 1, 1
1, 0, 1
1, 1, 2

Data also can have multiple top values Z in t, t + 1, t + 2. There is a possibility to create animation and keyframes for each data and interpolate between it. (Supported for Bar, Point and Surface chart)

x, y, x + y
0, 0, 0, 3, 10
0, 1, 1, 4, 0
1, 0, 1, 5, 3
1, 1, 2, 1, 2

Creating chart

Use add object menu and select chart which suits your needs. If you set data type and dimensions correctly, chart should create with automatic axis ranges and steps and default coloring. You can try to play with parameters and if you can come up with something cool. All charts sizes are normalized to 1 meter cube, e. g. you can create stem chart by using bar and point chart or dual-line chart by creating two line charts with proper settings. Addon can create materials for chart in two ways. U can check Use Nodes parameter in chart creation and addon automatically creates and assigns node shader material to your chart. Second option is that addon creates materials for each object in chart (only where objects are used). Axis and ticks with text have also default assigned material. U can customize size of step or range of axis to normalize data into different space to combine with different type of chart or to put it in different perspective.

Surface chart is supported only if you install scipy and numpy into Blenders python. This can be done in addon preferences (experimental) or in system console using pip.

Status

Currently supported features:

  • Pie chart (Categorical)
  • Line chart (Categorical, Numeric)
  • Bar chart (Categorical, 2D Numeric, 3D Numeric)
  • Point chart / Scatterplot (2D Numeric, 3D Numeric)
  • Surface chart (Using scipy)
  • Creating axis with labels from data
  • Ranges of data to visualise can be set
  • Materials and 3 types of coloring of charts (Including default Node Shader for gradients and random colors)
  • Basic animations from data
  • Panel settings (to prevent sidebar cluster)

Known issues:

  • Charts from larger files (>200 entries) take long time to generate (except surface chart), because of large numbers of manipulations with objects instead of meshes

Planned features:

  • Muliple categories for categorical charts
  • Multiple datasets loaded into Blender
  • Label alignment to camera for render

Feel free to submit any issues or ideas!

Author

Zdeněk Doležal - Bachelor Thesis

Faculty of information technology BUT

Version 1.3

About

Data visualisation addon for Blender

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%