code: def test_heatmap_categorical_axes_string_int_invert_xyaxis(self):
      opts = dict(invert_xaxis=True, invert_yaxis=True)
      hmap = HeatMap([("A", 1, 1), ("B", 2, 2)]).opts(**opts)
      plot = bokeh_renderer.get_plot(hmap)
      x_range = plot.handles["x_range"]
      y_range = plot.handles["y_range"]
      self.assertIsInstance(x_range, FactorRange)
      self.assertEqual(x_range.factors, ["A", "B"][::-1])
      self.assertIsInstance(y_range, Range1d)
      self.assertEqual(y_range.start, 2.5)
      self.assertEqual(y_range.end, 0.5)
  
file_path: holoviews/holoviews/tests/plotting/bokeh/test_heatmapplot.py
imports: import numpy
  from bokeh.models import FactorRange, HoverTool, Range1d
  from holoviews.element import HeatMap, Image, Points
  from .test_plot import TestBokehPlot, bokeh_renderer
label_desc: Use image node_id 6 for calling the TestHeatMapPlot obj's underlying member method code with example usage: obj.test_heatmap_categorical_axes_string_int_invert_xyaxis() without return types