Two 3d surface with different color map

Hi @doga,

Each surface trace can have its own colorscale using the colorscale property. And colorbars can be disabled for all but one by setting the showscale property to False. For example:

import plotly.graph_objs as go
from plotly.offline import iplot, init_notebook_mode
init_notebook_mode()


z1 = [
    [8.83,8.89,8.81,8.87,8.9,8.87],
    [8.89,8.94,8.85,8.94,8.96,8.92],
    [8.84,8.9,8.82,8.92,8.93,8.91],
    [8.79,8.85,8.79,8.9,8.94,8.92],
    [8.79,8.88,8.81,8.9,8.95,8.92],
    [8.8,8.82,8.78,8.91,8.94,8.92],
    [8.75,8.78,8.77,8.91,8.95,8.92],
    [8.8,8.8,8.77,8.91,8.95,8.94],
    [8.74,8.81,8.76,8.93,8.98,8.99],
    [8.89,8.99,8.92,9.1,9.13,9.11],
    [8.97,8.97,8.91,9.09,9.11,9.11],
    [9.04,9.08,9.05,9.25,9.28,9.27],
    [9,9.01,9,9.2,9.23,9.2],
    [8.99,8.99,8.98,9.18,9.2,9.19],
    [8.93,8.97,8.97,9.18,9.2,9.18]
]

z2 = [[zij+1 for zij in zi] for zi in z1]
z3 = [[zij-1 for zij in zi] for zi in z1]

data = [
    go.Surface(z=z1, colorscale='Electric', showscale=False),
    go.Surface(z=z2, opacity=0.9, colorscale='Viridis', showscale=True),
    go.Surface(z=z3, opacity=0.9, colorscale='Blues', showscale=False)

]

iplot(data)

Hope that helps!
-Jon

1 Like