code: def plot_coordinates(self, X, ax=None, figsize=(6, 6), x_component=0, y_component=1,
                                     show_row_labels=True, show_col_labels=True, **kwargs):
          
  
          utils.validation.check_is_fitted(self, 's_')
  
          if ax is None:
              fig, ax = plt.subplots(figsize=figsize)
  
          # Add style
          ax = plot.stylize_axis(ax)
  
          # Get labels and names
          row_label, row_names, col_label, col_names = util.make_labels_and_names(X)
  
          # Plot row principal coordinates
          row_coords = self.row_coordinates(X)
          ax.scatter(
              row_coords[x_component],
              row_coords[y_component],
              **kwargs,
              label=row_label
          )
  
          # Plot column principal coordinates
          col_coords = self.column_coordinates(X)
          ax.scatter(
              col_coords[x_component],
              col_coords[y_component],
              **kwargs,
              label=col_label
          )
  
          # Add row labels
          if show_row_labels:
              x = row_coords[x_component]
              y = row_coords[y_component]
              for i, label in enumerate(row_names):
                  ax.annotate(label, (x[i], y[i]))
  
          # Add column labels
          if show_col_labels:
              x = col_coords[x_component]
              y = col_coords[y_component]
              for i, label in enumerate(col_names):
                  ax.annotate(label, (x[i], y[i]))
  
          # Legend
          ax.legend()
  
          # Text
          ax.set_title('Principal coordinates')
          ei = self.explained_inertia_
          ax.set_xlabel('Component {} ({:.2f}% inertia)'.format(x_component, 100 * ei[x_component]))
          ax.set_ylabel('Component {} ({:.2f}% inertia)'.format(y_component, 100 * ei[y_component]))
  
          return ax
docs: Plot the principal coordinates.