class_docstr: Plot functions for numeric x & y axes:
  
  Methods:
      - line
      - scatter
      - text
      - area
class_docstr_tok: ["Plot","functions","for","numeric","x","&","y","axes",":","Methods",":","-","line","-","scatter","-","text","-","area"]
docstr: Scatter plot.
  
  Args:
      data_frame (pandas.DataFrame): Data source for the plot.
      x_column (str): Column name to plot on the x axis.
      y_column (str): Column name to plot on the y axis.
      size_column (str, optional): Column name of numerical values
          to plot on the size dimension.
      color_column (str, optional): Column name to group by on
          the color dimension.
      color_order (list, optional): List of values within the
          'color_column' for specific sorting of the colors.
      alpha (float): Alpha value.
      marker (str): marker type. Valid types:
          'asterisk', 'circle', 'circle_cross', 'circle_x', 'cross',
          'diamond', 'diamond_cross', 'hex', 'inverted_triangle',
          'square', 'square_x', 'square_cross', 'triangle',
          'x', '*', '+', 'o', 'ox', 'o+'
docstr_tok: ["Scatter","plot",".","Args",":","data_frame","(","pandas.DataFrame",")",":","Data","source","for","the","plot",".","x_column","(","str",")",":","Column","name","to","plot","on","the","x","axis",".","y_column","(","str",")",":","Column","name","to","plot","on","the","y","axis",".","size_column","(","str",",","optional",")",":","Column","name","of","numerical","values","to","plot","on","the","size","dimension",".","color_column","(","str",",","optional",")",":","Column","name","to","group","by","on","the","color","dimension",".","color_order","(","list",",","optional",")",":","List","of","values","within","the","'color_column","'","for","specific","sorting","of","the","colors",".","alpha","(","float",")",":","Alpha","value",".","marker","(","str",")",":","marker","type",".","Valid","types",":","'asterisk","'",",","'circle","'",",","'circle_cross","'",",","'circle_x","'",",","'cross","'",",","'diamond","'",",","'diamond_cross","'",",","'hex","'",",","'inverted_triangle","'",",","'square","'",",","'square_x","'",",","'square_cross","'",",","'triangle","'",",","'","x","'",",","'","*","'",",","'+","'",",","'","o","'",",","'ox","'",",","'","o+","'"]
code: def scatter(
      self,
      data_frame,
      x_column,
      y_column,
      size_column=None,
      color_column=None,
      color_order=None,
      alpha=1.0,
      marker="circle",
  ):
      """Scatter plot.
  
      Args:
          data_frame (pandas.DataFrame): Data source for the plot.
          x_column (str): Column name to plot on the x axis.
          y_column (str): Column name to plot on the y axis.
          size_column (str, optional): Column name of numerical values
              to plot on the size dimension.
          color_column (str, optional): Column name to group by on
              the color dimension.
          color_order (list, optional): List of values within the
              'color_column' for specific sorting of the colors.
          alpha (float): Alpha value.
          marker (str): marker type. Valid types:
              'asterisk', 'circle', 'circle_cross', 'circle_x', 'cross',
              'diamond', 'diamond_cross', 'hex', 'inverted_triangle',
              'square', 'square_x', 'square_cross', 'triangle',
              'x', '*', '+', 'o', 'ox', 'o+'
      """
      if size_column is None:
          size_column = 6
  
      colors, color_values = self._get_color_and_order(
          data_frame, color_column, color_order
      )
  
      self._set_numeric_axis_default_format(
          data_frame, x_column, y_column
      )
  
      for color_value, color in zip(color_values, colors):
          if color_column is None:  # Single series
              sliced_data = data_frame
          else:
              sliced_data = data_frame[
                  data_frame[color_column] == color_value
              ]
          # Filter to only relevant columns.
          sliced_data = sliced_data[
              [
                  col
                  for col in sliced_data.columns
                  if col
                  in (x_column, y_column, size_column, color_column)
              ]
          ]
          cast_data = self._cast_datetime_axis(sliced_data, x_column)
  
          source = self._named_column_data_source(
              cast_data, series_name=color_value
          )
  
          color_value = (
              str(color_value)
              if color_value is not None
              else color_value
          )
  
          self._plot_with_legend(
              self._chart.figure.scatter,
              legend_label=color_value,
              x=x_column,
              y=y_column,
              size=size_column,
              source=source,
              fill_color=color,
              marker=marker,
              line_color=color,
              alpha=alpha,
              y_range_name=self._y_range_name,
          )
  
      # Set legend defaults if there are multiple series.
      if color_column is not None:
          self._chart.style._apply_settings("legend")
  
      return self._chart
  
imports: import bokeh
  import pandas
  import numpy
  from chartify._core.colors import Color, color_palettes
  from chartify._core.axes import NumericalYMixin, NumericalXMixin
  from scipy.stats import gaussian_kde
label_desc: Use image node_id 2 for calling the PlotNumericXY obj's underlying member method code with example usage: obj.scatter(data_frame, x_column, y_column, size_column, color_column, color_order, alpha, marker) and returns: self