code: def create_settings(self):
      self.x_object = LabelSubscriber(
          "Select the object to display on the X-axis",
          "None",
          doc="""\
  Choose the name of objects identified by some previous module (such as
  **IdentifyPrimaryObjects** or **IdentifySecondaryObjects**) whose
  measurements are to be displayed on the X-axis.
  """,
      )
  
      self.x_axis = Measurement(
          "Select the object measurement to plot on the X-axis",
          self.get_x_object,
          "None",
          doc="""Choose the object measurement made by a previous module to display on the X-axis.""",
      )
  
      self.y_object = LabelSubscriber(
          "Select the object to display on the Y-axis",
          "None",
          doc="""\
  Choose the name of objects identified by some previous module (such as
  **IdentifyPrimaryObjects** or **IdentifySecondaryObjects**) whose
  measurements are to be displayed on the Y-axis.
  """,
      )
  
      self.y_axis = Measurement(
          "Select the object measurement to plot on the Y-axis",
          self.get_y_object,
          "None",
          doc="""Choose the object measurement made by a previous module to display on the Y-axis.""",
      )
  
      self.gridsize = Integer(
          "Select the grid size",
          100,
          1,
          1000,
          doc="""\
  Enter the number of grid regions you want used on each
  axis. Increasing the number of grid regions increases the
  resolution of the plot.""",
      )
  
      self.xscale = Choice(
          "How should the X-axis be scaled?",
          ["linear", "log"],
          None,
          doc="""\
  The X-axis can be scaled either with a *linear* scale or with a *log*
  (base 10) scaling.
  
  Using a log scaling is useful when one of the measurements being plotted
  covers a large range of values; a log scale can bring out features in
  the measurements that would not easily be seen if the measurement is
  plotted linearly.
  """,
      )
  
      self.yscale = Choice(
          "How should the Y-axis be scaled?",
          ["linear", "log"],
          None,
          doc="""\
  The Y-axis can be scaled either with a *linear* scale or with a *log*
  (base 10) scaling.
  
  Using a log scaling is useful when one of the measurements being plotted
  covers a large range of values; a log scale can bring out features in
  the measurements that would not easily be seen if the measurement is
  plotted linearly.
  """,
      )
  
      self.bins = Choice(
          "How should the colorbar be scaled?",
          ["linear", "log"],
          None,
          doc="""\
  The colorbar can be scaled either with a *linear* scale or with a *log*
  (base 10) scaling.
  
  Using a log scaling is useful when one of the measurements being plotted
  covers a large range of values; a log scale can bring out features in
  the measurements that would not easily be seen if the measurement is
  plotted linearly.
  """,
      )
  
      maps = [
          m
          for m in list(matplotlib.cm.datad.keys())
          if not m.endswith("_r")
      ]
      maps.sort()
  
      self.colormap = Choice(
          "Select the color map",
          maps,
          "jet",
          doc="""\
  Select the color map for the density plot. See `this page`_ for pictures
  of the available colormaps.
  
  .. _this page: http://matplotlib.org/users/colormaps.html
  """,
      )
  
      self.title = Text(
          "Enter a title for the plot, if desired",
          "",
          doc="""\
  Enter a title for the plot. If you leave this blank, the title will
  default to *(cycle N)* where *N* is the current image cycle being
  executed.
  """,
      )
  
file_path: CellProfiler/src/frontend/cellprofiler/modules/displaydensityplot.py
imports: import matplotlib.cm
  from cellprofiler_core.module import Module
  from cellprofiler_core.setting import Measurement
  from cellprofiler_core.setting.choice import Choice
  from cellprofiler_core.setting.subscriber import LabelSubscriber
  from cellprofiler_core.setting.text import Integer
  from cellprofiler_core.setting.text import Text
label_desc: Use image node_id 3 for calling the DisplayDensityPlot obj's underlying member method code with example usage: obj.create_settings() without return types