code: def configure_3d_axes(args, fig, orders):
      patch = dict(
          xaxis=dict(title_text=get_label(args, args["x"])),
          yaxis=dict(title_text=get_label(args, args["y"])),
          zaxis=dict(title_text=get_label(args, args["z"])),
      )
  
      for letter in ["x", "y", "z"]:
          axis = patch[letter + "axis"]
          if args["log_" + letter]:
              axis["type"] = "log"
              if args["range_" + letter]:
                  axis["range"] = [
                      math.log(x, 10) for x in args["range_" + letter]
                  ]
          else:
              if args["range_" + letter]:
                  axis["range"] = args["range_" + letter]
          if args[letter] in orders:
              axis["categoryorder"] = "array"
              axis["categoryarray"] = orders[args[letter]]
      fig.update_scenes(patch)
  
imports: import plotly.graph_objs
  import plotly.io
  from collections import namedtuple, OrderedDict
  from ._special_inputs import IdentityMap, Constant, Range
  from .trendline_functions import ols, lowess, rolling, expanding, ewm
  from _plotly_utils.basevalidators import ColorscaleValidator
  from plotly.colors import qualitative, sequential
  import math
  from packaging import version
  import pandas
  import numpy
  from plotly._subplots import make_subplots, _set_trace_grid_reference, _subplot_type_for_trace_type
label_desc: Use image node_id 15 for calling a global function with example usage: configure_3d_axes(args, fig, orders) without return types