Black Lives Matter. Please consider donating to Black Girls Code today.

Polarization of data

Hi everyone,

Let’s explain : for a project I’m on, I have to represent some data into a round circle.

Here is an example of the output I’m supposed to get :

To help you understand : I have a N amount of measures, which represents vibrations which are recorded by a sensor. Theses sensors are disposed regularly into a 360° spread.

Then, I compute some Fourrier transform, there I get my Z values (for the amplitude) and it’s position on a range from 0 to 500 Hz.

Currently, I’ve tried to render this in a contour type plot, I put my first measure then I compute the polar coordinates to get new coordinates for my next measure.

But I’m getting something looking like that

It’s more or less what I’m supposed to get, you can see the 6 measures spread in 360°, you can more or less guess the amplitude and which one has the biggest peak, but this is by far from the render which is asked (on this point, we can debate because my customer know the API has it’s own limits) and I don’t believe it will be usable.

I’ve tried something else, I’ve made a contour type plot, and add an object “contours” with an attribute “coloring : heatmap” and I’ve got something like that :

I’m getting closer but I’m running out of option, any idea please?

Thanks in advance for answers

1 Like

a couple options come to mind:

you could try to use a wind rose (https://plot.ly/python/wind-rose-charts/)

or you could define a 3D surface to plot your data on, this is probably a little more complicated, but could work (https://plot.ly/python/surface-triangulation/#triangularization-of-the-surface-zsinxy-defined-over-a-disk)

Thanks for your answer :slight_smile:

I’ve already thought to Wind Rose, but it’s not exactly what I’m expecting for data feeding, though it’s the good render.

Your second option is more likely to be what I’m looking for, thank you :slight_smile:

1 Like