class_docstr: !
  @brief Visualizer of BSAS algorithm's results.
  @details BSAS visualizer provides visualization services that are specific for BSAS algorithm.
class_docstr_tok: ["!","@","brief","Visualizer","of","BSAS","algorithm","'s","results",".","@","details","BSAS","visualizer","provides","visualization","services","that","are","specific","for","BSAS","algorithm","."]
docstr: !
  @brief Display BSAS clustering results.
  @details Allocated figure by this method should be closed using `close()` method of this visualizer.
  
  @param[in] sample (list): Dataset that was used for clustering.
  @param[in] clusters (array_like): Clusters that were allocated by the algorithm.
  @param[in] representatives (array_like): Allocated representatives correspond to clusters.
  @param[in] **kwargs: Arbitrary keyword arguments (available arguments: 'figure', 'display', 'offset').
  
  <b>Keyword Args:</b><br>
      - figure (figure): If 'None' then new is figure is created, otherwise specified figure is used for visualization.
      - display (bool): If 'True' then figure will be shown by the method, otherwise it should be shown manually using matplotlib function 'plt.show()'.
      - offset (uint): Specify axes index on the figure where results should be drawn (only if argument 'figure' is specified).
  
  @return (figure) Figure where clusters were drawn.
docstr_tok: ["!","@","brief","Display","BSAS","clustering","results",".","@","details","Allocated","figure","by","this","method","should","be","closed","using","`","close","(",")","`","method","of","this","visualizer",".","@","param","[","in","]","sample","(","list",")",":","Dataset","that","was","used","for","clustering",".","@","param","[","in","]","clusters","(","array_like",")",":","Clusters","that","were","allocated","by","the","algorithm",".","@","param","[","in","]","representatives","(","array_like",")",":","Allocated","representatives","correspond","to","clusters",".","@","param","[","in","]","*","*","kwargs",":","Arbitrary","keyword","arguments","(","available","arguments",":","'figure","'",",","'display","'",",","'offset","'",")",".","<","b",">","Keyword","Args",":","<","\/b",">","<","br",">","-","figure","(","figure",")",":","If","'None","'","then","new","is","figure","is","created",",","otherwise","specified","figure","is","used","for","visualization",".","-","display","(","bool",")",":","If","'True","'","then","figure","will","be","shown","by","the","method",",","otherwise","it","should","be","shown","manually","using","matplotlib","function","'plt.show","(",")","'",".","-","offset","(","uint",")",":","Specify","axes","index","on","the","figure","where","results","should","be","drawn","(","only","if","argument","'figure","'","is","specified",")",".","@","return","(","figure",")","Figure","where","clusters","were","drawn","."]
code: def show_clusters(sample, clusters, representatives, **kwargs):
      """!
      @brief Display BSAS clustering results.
      @details Allocated figure by this method should be closed using `close()` method of this visualizer.
  
      @param[in] sample (list): Dataset that was used for clustering.
      @param[in] clusters (array_like): Clusters that were allocated by the algorithm.
      @param[in] representatives (array_like): Allocated representatives correspond to clusters.
      @param[in] **kwargs: Arbitrary keyword arguments (available arguments: 'figure', 'display', 'offset').
  
      <b>Keyword Args:</b><br>
          - figure (figure): If 'None' then new is figure is created, otherwise specified figure is used for visualization.
          - display (bool): If 'True' then figure will be shown by the method, otherwise it should be shown manually using matplotlib function 'plt.show()'.
          - offset (uint): Specify axes index on the figure where results should be drawn (only if argument 'figure' is specified).
  
      @return (figure) Figure where clusters were drawn.
  
      """
  
      figure = kwargs.get("figure", None)
      display = kwargs.get("display", True)
      offset = kwargs.get("offset", 0)
  
      visualizer = cluster_visualizer()
      visualizer.append_clusters(clusters, sample, canvas=offset)
  
      for cluster_index in range(len(clusters)):
          visualizer.append_cluster_attribute(
              offset,
              cluster_index,
              [representatives[cluster_index]],
              "*",
              10,
          )
  
      return visualizer.show(figure=figure, display=display)
  
file_path: pyclustering/pyclustering/cluster/bsas.py
imports: from pyclustering.core.wrapper import ccore_library
  from pyclustering.core.bsas_wrapper import bsas
  from pyclustering.core.metric_wrapper import metric_wrapper
  from pyclustering.cluster import cluster_visualizer
  from pyclustering.cluster.encoder import type_encoding
  from pyclustering.utils.metric import type_metric, distance_metric
label_desc: Use image node_id 1 for calling the bsas_visualizer obj's underlying member method code with example usage: obj.show_clusters(sample, clusters, representatives) and returns: visualizer