code: def test_append_scatter3d():
      expected = Figure(
          data=Data(
              [
                  Scatter3d(
                      x=[1, 2, 3],
                      y=[2, 3, 4],
                      z=[1, 2, 3],
                      scene="scene1",
                  ),
                  Scatter3d(
                      x=[1, 2, 3],
                      y=[2, 3, 4],
                      z=[1, 2, 3],
                      scene="scene2",
                  ),
              ]
          ),
          layout=Layout(
              scene1=Scene(domain={"y": [0.575, 1.0], "x": [0.0, 1.0]}),
              scene2=Scene(domain={"y": [0.0, 0.425], "x": [0.0, 1.0]}),
          ),
      )
  
      fig = tls.make_subplots(
          rows=2, cols=1, specs=[[{"is_3d": True}], [{"is_3d": True}]]
      )
      trace = Scatter3d(x=[1, 2, 3], y=[2, 3, 4], z=[1, 2, 3])
      fig.append_trace(trace, 1, 1)
      fig.append_trace(trace, 2, 1)
  
      d1, d2 = strip_dict_params(fig["data"][0], expected["data"][0])
      assert d1 == d2
  
      d1, d2 = strip_dict_params(fig["data"][1], expected["data"][1])
      assert d1 == d2
  
      d1, d2 = strip_dict_params(fig["layout"], expected["layout"])
      assert d1 == d2
  
file_path: plotly.py/packages/python/plotly/plotly/tests/test_core/test_graph_objs/test_append_trace.py
imports: import pytest
  from plotly.graph_objs import Data, Figure, Layout, Scatter, Scatter3d, Scene, XAxis, YAxis
  from plotly.tests.utils import strip_dict_params
  import plotly.tools
  import copy
label_desc: Use image node_id 6 for calling a global function with example usage: test_append_scatter3d() without return types