Git Product home page Git Product logo

blenderdatavis's Introduction

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)
  • Bubble chart (2D, 3D Numeric + animatable size and height)
  • 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)
  • Loaded data list
  • Label alignment to active camera
  • Chart container size

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:

  • Multiple categories for categorical charts
  • Function plotting

Feel free to submit any issues or ideas!

Author

Zdeněk Doležal - Bachelor Thesis

Faculty of information technology BUT

Version 2.0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.