Skewed heatmap / image / isosurface...
See original GitHub issueHi!
I have scientific data represented in 3D grids. Heatmaps and isosurfaces are great for displaying them. However, in some cases the axes of the grid are not x
, y
and z
, but some other direction in space. Then, I would like to somehow see the “skewed” images. I believe it is not possible in plotly to specify the “direction” of the axes in these kind of traces, is it? I don’t know how hard it would be to implement, but it would be extremely useful.
In case this is not feasible or you are not interested in implementing it, could you suggest a workaround? I’m quite lost on this 😃
PS: Sorry if this belongs to plotlyjs
github page, I’m not sure.
Issue Analytics
- State:
- Created 3 years ago
- Comments:10
Top Results From Across the Web
[PDF] On Histograms and Isosurface Statistics - ResearchGate
PDF | In this paper, we show that histograms represent spatial function distributions with a nearest neighbour interpolation.
Read more >Computational method for calculating fluorescence intensities ...
We present a method specifically designed for the quantification of three dimensional data sets that identifies volumetric structures and evaluates signal ...
Read more >MATLAB 3-D Visualization - Computing Tutor
“Texture Mapping” on page 1-25 — Texture mapping displays a 2-D image ... The first step is to draw the isosurface and plot...
Read more >Harnessing the Power of Visualization 'Concept to Execution' - SDSC
Contours, Isosurface And Explicit. Geometry. • Volumetric ... Images: Mathworks.com (Heatmap example) ... Skew scaling can assign either high or low.
Read more >Manipulating Axes Aspect Ratio - MATLAB & Simulink
The axis command works by setting various axes object properties. You can set these properties directly to achieve precisely the effect you want....
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
@pfebrer96 An instance of the class
go.Isosurface
is defined by plotly.js as aMesh3d
trace, with vertices and faces (triangles) returned by the Marching Cube algorithm. This algorithm acts on 3D grids associated to a parallelepiped with sides parallel to the standard axes, i.e. axes of directions e1=(1, 0, 0), e2=(0,1,0), e3=(0,0,1). @archmoj can give more details on how this algorithm works forgo.Isosurface
If go.Isosurface had a transformation attribute, i.e. an array of shape (3,3), and positive determinant,
T=np.array([u1, u2, u3]).transpose()
, to map vertex coordinates resulted from marching cube triangulation, then we could simply define an isosurface carved within a volume with sides of directions u1, u2, u3. Namely it could be defined as a Mesh3D having as vertices, the T-transformed initial vertices, and the same faces. See a workaround for this procedure in this notebook https://chart-studio.plotly.com/~empet/15738.Notice that unlike the isosurfaces defined as
go.Isosurface
(s), the isosurfaces constructed by the method presented in the above Jupyter Notebook can be colored according to vertex intensities (defined by a scalar field on the isosurface).If you intend to propose a PR, for such isosurfaces, then it must be posted on plotly.js, not here.
This is exactly what I needed! Thank you very much 😃
With that, I have all the workarounds that I needed, so you can close this issue if you want.
Cheers and I really appreciate the help!