code: def _make_size_legend(self):
          
          # Compute the size of the markers and scale them to our figure size
          # NOTE: the marker size is the area of the plot, we need to compute the
          # radius of the markers.
          areas = self._get_cluster_sizes()
          radii = np.sqrt(areas / np.pi)
          scaled = np.interp(radii, (radii.min(), radii.max()), (.1, 1))
  
          # Compute the locations of the 25th, 50th, and 75th percentile scores
          indices = np.array([
              percentile_index(self.scores_, p) for p in (25, 50, 75)
          ])
  
          # Draw size circles annotated with the percentile score as the legend.
          for idx in indices:
              # TODO: should the size circle's center be hard coded like this?
              center = (-0.30, 1-scaled[idx])
              c = Circle(
                  center, scaled[idx], facecolor="none", edgecolor="#2e7193",
                  linewidth=1.5, linestyle="--"
              )
              self.lax.add_patch(c)
  
              # Add annotation to the size circle with the value of the score
              self.lax.annotate(
                  self.scores_[idx], (-0.30, 1-(2*scaled[idx])), xytext=(1, 1-(2*scaled[idx])),
                  arrowprops=dict(arrowstyle="wedge", color="#2e7193"), va='center', ha='center',
              )
  
          # Draw size legend title
          self.lax.text(s="membership", x=0, y=1.2, va='center', ha='center')
  
          # Ensure the current axes is always the main axes after modifying the
          # inset axes and while drawing.
          plt.sca(self.ax)
docs: Draw a legend that shows relative sizes of the clusters at the 25th,
          50th, and 75th percentile based on the current scoring metric.