-
-
Notifications
You must be signed in to change notification settings - Fork 359
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
First attempt at histogram3d/legoplot #3507
base: master
Are you sure you want to change the base?
Conversation
And please could someone add the help wanted label since I don't have permissions to add labels 😅 |
Codecov Report
@@ Coverage Diff @@
## master #3507 +/- ##
==========================================
- Coverage 64.05% 63.75% -0.31%
==========================================
Files 27 27
Lines 6611 6643 +32
==========================================
Hits 4235 4235
- Misses 2376 2408 +32
Continue to review full report at Codecov.
|
Added now another possibility to tackle this problem, by really plotting 3d-bars at each x-y-spot as a separate series. Also in I will try to resolve this by not plotting one bar at each x-y-spot but instead plot one surface for each connected area (e.g. one slice from |
However this will make it harder again to have differently colored bars. |
As already mentioned in #3379 I wanted to add a
histogram3d()
function for plotting.Therefore I took over the ides from the issue and translated it in a recipe, however now I am a bit stuck.
The main problems + possible solutions are:
wireframe
is not reliable across the different backends (very different behaviours) so I switched tosurface
surface
does not provide a mesh option (likesurface
+wireframe
) and so one does not get a lot of information from the plots.show_empty_bins
which turned out to be really hard. Especially theplotly()
backend seems to have a lot of trouble with a mixture ofNaN
and numeric-values at the same x-y position._allneighbours
function which checks if all neighbours in a matrix are the same value, which I need to set theNaN
-values for the plot. I really dislike this function a lot but I couldn't wrap my head around another idea to resolve thisFigures
All plots are created by
GR
One-coloured surface plot
Multi-coloured surface plot
Single-coloured surface + wireframe plot
Not possible with the current solution, wince
wireframe
in GR needs x and y values in ascending (i.e. repeated values are forbidden). Therefore one would need again the workaround withrepeateps()
in #3379 which I have discarded for now.Plotly
One-coloured surface plot
NaN
-values are not completely correct rendered as can be seen at for instancex=0.2
andy = 0.0 to 0.1
by a missing part of the wall.Multi-coloured surface plot
NaN
-values e.g. atx=0.4
Single-coloured surface + wireframe plot
Pyplot
Already worked yesterday, but somehow is not compiling at the moment on my PC. I'll try to add figures as soon as possible.
Further info
I am totally willing to expand this myself but I also definitely need some help (and also style-decisions) here. So let me know if you have any idea. Also @dorn-gerhard it would be really nice if your colleagues could add their solutions as proposed in #3379
Thanks already and Cheers.