def plot_integrated_histogram(
        self,
        ax: plt.Axes | None = None,
        cdf_on_x: bool = False,
        axis_label: str = 'Readout error rate',
        semilog: bool = True,
        median_line: bool = True,
        median_label: str | None = 'median',
        mean_line: bool = False,
        mean_label: str | None = 'mean',
        show_zero: bool = False,
        title: str | None = None,
        **kwargs,
    ) -> plt.Axes:
        """Plot the readout errors using cirq.integrated_histogram().

        Args:
            ax: The axis to plot on. If None, we generate one.
            cdf_on_x: If True, flip the axes compared the above example.
            axis_label: Label for x axis (y-axis if cdf_on_x is True).
            semilog: If True, force the x-axis to be logarithmic.
            median_line: If True, draw a vertical line on the median value.
            median_label: If drawing median line, optional label for it.
            mean_line: If True, draw a vertical line on the mean value.
            mean_label: If drawing mean line, optional label for it.
            title: Title of the plot. If None, we assign "N={len(data)}".
            show_zero: If True, moves the step plot up by one unit by prepending 0
                to the data.
            **kwargs: Kwargs to forward to `ax.step()`. Some examples are
                color: Color of the line.
                linestyle: Linestyle to use for the plot.
                lw: linewidth for integrated histogram.
                ms: marker size for a histogram trace.
        Returns:
            The axis that was plotted on.
        """

        ax = cirq_histogram.integrated_histogram(
            data=self.zero_state_errors,
            ax=ax,
            cdf_on_x=cdf_on_x,
            semilog=semilog,
            median_line=median_line,
            median_label=median_label,
            mean_line=mean_line,
            mean_label=mean_label,
            show_zero=show_zero,
            color='C0',
            label='$|0\\rangle$ errors',
            **kwargs,
        )
        ax = cirq_histogram.integrated_histogram(
            data=self.one_state_errors,
            ax=ax,
            cdf_on_x=cdf_on_x,
            axis_label=axis_label,
            semilog=semilog,
            median_line=median_line,
            median_label=median_label,
            mean_line=mean_line,
            mean_label=mean_label,
            show_zero=show_zero,
            title=title,
            color='C1',
            label='$|1\\rangle$ errors',
            **kwargs,
        )
        ax.legend(loc='best')
        ax.set_ylabel('Percentile')
        return ax
Plot the readout errors using cirq.integrated_histogram().

        Args:
            ax: The axis to plot on. If None, we generate one.
            cdf_on_x: If True, flip the axes compared the above example.
            axis_label: Label for x axis (y-axis if cdf_on_x is True).
            semilog: If True, force the x-axis to be logarithmic.
            median_line: If True, draw a vertical line on the median value.
            median_label: If drawing median line, optional label for it.
            mean_line: If True, draw a vertical line on the mean value.
            mean_label: If drawing mean line, optional label for it.
            title: Title of the plot. If None, we assign "N={len(data)}".
            show_zero: If True, moves the step plot up by one unit by prepending 0
                to the data.
            **kwargs: Kwargs to forward to `ax.step()`. Some examples are
                color: Color of the line.
                linestyle: Linestyle to use for the plot.
                lw: linewidth for integrated histogram.
                ms: marker size for a histogram trace.
        Returns:
            The axis that was plotted on.
        
cirq-core/cirq/experiments/single_qubit_readout_calibration.py