<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _make_size_legend(self):
 """ Draw a legend that shows relative sizes of the clusters at the 25th, 50th, and 75th percentile based on the current scoring metric. """

        # 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)