Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Bug report: Incorrect drawing order of Isosurfaces with opacity #5268

Open
Labels
P2considered for next cyclebugsomething broken
@Coding-with-Adam

Description

@Coding-with-Adam
  • Reported by Łukasz asa post on the forum
  • Plotly version: 6.2.0
  • Python version: 3.11.13
  • Browser: chrome

Hi, i have found quite annoying bug which can be seen only when the isosurface components are opaque. I observed that it doesn’t only occur for multiple trace isosurfaces, but also single multisurface isosurfaces and volume plots.

Here is an example code how to replicate it:
(The fun part is that when you change the opacity from 0.99 to 1 the plot gets visualised properly.)

import plotly.graph_objects as goimport numpy as npimport nrrdfrom skimage.transform import resizevolume = np.zeros((50, 50, 50))volume[1:10, 5:45, 5:45] =1volume[10:20, 5:45, 5:45] = 1.5volume[20:30, 5:45, 5:45] = 2volume[30:40, 5:45, 5:45] = 2.5volume[40:49, 5:45, 5:45] = 3Z, X, Y = np.mgrid[0:volume.shape[0]:1, 0:volume.shape[1]:1, 0:volume.shape[2]:1]fig = go.Figure(data=[go.Isosurface(    x=X.flatten(),    y=Y.flatten(),    z=Z.flatten(),    opacity=0.99,    value=np.where(volume == 1, 1, 0).flatten(),    surface_fill=1,    surface_count=1,    colorscale=[[0, 'rgb(0,255,0)'], [1, 'rgb(0,255,0)']],    caps=dict(x_show=False, y_show=False, z_show=False),    #slices_z=dict(show=True, locations=list(range(volume.shape[0]))),    ),    go.Isosurface(        x=X.flatten(),        y=Y.flatten(),        z=Z.flatten(),        opacity=0.99,        value=np.where(volume == 3, 1, 0).flatten(),        surface_fill=1,        surface_count=1,        colorscale=[[0, 'rgb(255,0,0)'], [1, 'rgb(255,0,0)']],        caps=dict(x_show=False, y_show=False, z_show=False),        # slices_z=dict(show=True, locations=list(range(volume.shape[0]))),    )])

The bug can be seen looking form under the plot:

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2considered for next cyclebugsomething broken

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions


      [8]ページ先頭

      ©2009-2025 Movatter.jp