code: def show3Dpose(
      channels, ax, lcolor="#3498db", rcolor="#e74c3c", add_labels=False
  ):  # blue, orange
      """
      Visualize a 3d skeleton
  
      Args
        channels: 54x1 vector. The pose to plot.
        ax: matplotlib 3d axis to draw on
        lcolor: color for left part of the body
        rcolor: color for right part of the body
        add_labels: whether to add coordinate labels
      Returns
        Nothing. Draws on ax.
      """
  
      assert channels.size == len(H36M_NAMES) * 3, (
          "channels should have 96 entries, it has %d instead"
          % channels.size
      )
      vals = np.reshape(channels, (len(H36M_NAMES), -1))
  
      I = np.array(
          [0, 1, 2, 0, 4, 5, 0, 7, 8, 8, 14, 15, 8, 11, 12]
      )  # start points
      J = np.array(
          [1, 2, 3, 4, 5, 6, 7, 8, 10, 14, 15, 16, 11, 12, 13]
      )  # end points
      LR = np.array(
          [1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1], dtype=bool
      )
  
      # Make connection matrix
      for i in np.arange(len(I)):
          x, y, z = [
              np.array([vals[I[i], j], vals[J[i], j]]) for j in range(3)
          ]
          ax.plot(x, y, z, lw=2, c=lcolor if LR[i] else rcolor)
  
      RADIUS = 750  # space around the subject
      xroot, yroot, zroot = vals[0, 0], vals[0, 1], vals[0, 2]
      ax.set_xlim3d([-RADIUS + xroot, RADIUS + xroot])
      ax.set_zlim3d([-RADIUS + zroot, RADIUS + zroot])
      ax.set_ylim3d([-RADIUS + yroot, RADIUS + yroot])
  
      if add_labels:
          ax.set_xlabel("x")
          ax.set_ylabel("y")
          ax.set_zlabel("z")
  
      # Get rid of the ticks and tick labels
      ax.set_xticks([])
      ax.set_yticks([])
      ax.set_zticks([])
  
      ax.get_xaxis().set_ticklabels([])
      ax.get_yaxis().set_ticklabels([])
      ax.set_zticklabels([])
  
      # Get rid of the panes (actually, make them white)
      white = (1.0, 1.0, 1.0, 0.0)
      ax.w_xaxis.set_pane_color(white)
      ax.w_yaxis.set_pane_color(white)
      # Keep z pane
  
      # Get rid of the lines in 3d
      ax.w_xaxis.line.set_color(white)
      ax.w_yaxis.line.set_color(white)
      ax.w_zaxis.line.set_color(white)
  
file_path: TensorLayer/tensorlayer/app/human_pose_estimation/common.py
imports: import tensorflow
  import numpy
  import pickle
  import matplotlib.pyplot
  import os
  import matplotlib.gridspec
label_desc: Use image node_id 4 for calling a global function with example usage: show3Dpose(channels, ax, lcolor, rcolor, add_labels) without return types