Hi @zotgabe,
is this what you are aiming to do? ->:
- with ipywidgets :
import plotly.graph_objs as go
import pandas as pd
import ipywidgets as widgets
# Read data from a csv
z_data = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv')
data1 = [
go.Surface(
z=z_data.values
)
]
data2 = [
go.Surface(
z=z_data.values, colorscale='viridis'
)
]
layout1 = go.Layout(title=dict(text='Mt Bruno Elevation'))
layout2 = go.Layout(title=dict(text='Mt Bruno Elevation 2'))
fig1 = go.FigureWidget(data=data1, layout=layout1)
fig2 = go.FigureWidget(data=data2, layout=layout2)
def cam_change(layout, camera):
fig2.layout.scene.camera = camera
fig1.layout.scene.on_change(cam_change, 'camera')
display(widgets.HBox([fig1,fig2]))
- or with subplots:
import plotly.graph_objs as go
import pandas as pd
from plotly import tools
# Read data from a csv
z_data = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv')
trace1 = dict(type='surface', scene='scene1', z=z_data.values)
trace2 = dict(type='surface', scene='scene2', z=z_data.values, colorscale='viridis')
f= tools.make_subplots(rows=1, cols=2, specs=[[{'is_3d': True}, {'is_3d': True}]])
f.append_trace(trace1, 1, 1)
f.append_trace(trace2, 1, 2)
fig = go.FigureWidget(f)
def cam_change(layout, camera):
fig.layout.scene2.camera = camera
fig.layout.scene1.on_change(cam_change, 'camera')
fig