def plot(self, ax: plt.Axes | None = None, **plot_kwargs: Any) -> plt.Axes:
        """Plots the average ground state probability vs the number of
        Cliffords in the RB study.

        Args:
            ax: the plt.Axes to plot on. If not given, a new figure is created,
                plotted on, and shown.
            **plot_kwargs: Arguments to be passed to 'plt.Axes.plot'.
        Returns:
            The plt.Axes containing the plot.
        """
        show_plot = not ax
        if ax is None:
            fig, ax = plt.subplots(1, 1, figsize=(8, 8))  # pragma: no cover
        ax.set_ylim((0.0, 1.0))  # pragma: no cover
        ax.plot(self._num_cfds_seq, self._gnd_state_probs, 'ro', label='data', **plot_kwargs)
        x = np.linspace(self._num_cfds_seq[0], self._num_cfds_seq[-1], 100)
        opt_params, _ = self._fit_exponential()
        ax.plot(x, opt_params[0] * opt_params[2] ** x + opt_params[1], '--k', label='fit')
        ax.legend(loc='upper right')
        ax.set_xlabel(r"Number of Cliffords")
        ax.set_ylabel('Ground State Probability')
        if show_plot:
            fig.show()
        return ax
Plots the average ground state probability vs the number of
        Cliffords in the RB study.

        Args:
            ax: the plt.Axes to plot on. If not given, a new figure is created,
                plotted on, and shown.
            **plot_kwargs: Arguments to be passed to 'plt.Axes.plot'.
        Returns:
            The plt.Axes containing the plot.
        
cirq-core/cirq/experiments/qubit_characterizations.py