code: def get_tick_iterator(self, nth_coord, axis_side, minor=False):
      # axisnr = dict(left=0, bottom=1, right=2, top=3)[axis_side]
      angle_tangent = dict(left=90, right=90, bottom=0, top=0)[
          axis_side
      ]
      # angle = [0, 90, 180, 270][axisnr]
      lon_or_lat = ["lon", "lat"][nth_coord]
      if not minor:  # major ticks
  
          def f():
              for (xy, a), l in zip(
                  self.grid_info[lon_or_lat]["tick_locs"][axis_side],
                  self.grid_info[lon_or_lat]["tick_labels"][axis_side],
              ):
                  angle_normal = a
                  yield xy, angle_normal, angle_tangent, l
  
      else:
  
          def f():
              for (xy, a), l in zip(
                  self.grid_info[lon_or_lat]["tick_locs"][axis_side],
                  self.grid_info[lon_or_lat]["tick_labels"][axis_side],
              ):
                  angle_normal = a
                  yield xy, angle_normal, angle_tangent, ""
              # for xy, a, l in self.grid_info[lon_or_lat]["ticks"][axis_side]:
              #    yield xy, a, ""
  
      return f()
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import six
  from six.moves import zip
  from itertools import chain
  from .grid_finder import GridFinder
  from .axislines import AxisArtistHelper, GridHelperBase
  from .axis_artist import AxisArtist
  from matplotlib.transforms import Affine2D, IdentityTransform
  import numpy
  from matplotlib.path import Path
label_desc: Use image node_id 8 for calling the GridHelperCurveLinear obj's underlying member method code with example usage: obj.get_tick_iterator(nth_coord, axis_side, minor) and returns: f