
:orphan:
:html_theme.sidebar_secondary.remove:

.. This document is auto-generated by the altair-gallery extension. Do not modify directly.

.. _gallery_empirical_cumulative_distribution_function:


Empirical Cumulative Distribution Function
------------------------------------------
This example shows an empirical cumulative distribution function.


.. altair-plot::
    :remove-code:
    


    import altair as alt
    from altair.datasets import data

    source = data.movies.url

    alt.Chart(source).transform_window(
        ecdf="cume_dist()",
        sort=[{"field": "IMDB Rating"}],
    ).mark_line(
        interpolate="step-after"
    ).encode(
        x="IMDB Rating:Q",
        y="ecdf:Q"
    )
    # No channel encoding options are specified in this chart
    # so the code is the same as for the method-based syntax.


.. tab-set::

    .. tab-item:: Method syntax
        :sync: method

        .. code:: python


            import altair as alt
            from altair.datasets import data

            source = data.movies.url

            alt.Chart(source).transform_window(
                ecdf="cume_dist()",
                sort=[{"field": "IMDB Rating"}],
            ).mark_line(
                interpolate="step-after"
            ).encode(
                x="IMDB Rating:Q",
                y="ecdf:Q"
            )


    .. tab-item:: Attribute syntax
        :sync: attribute

        .. code:: python


            import altair as alt
            from altair.datasets import data

            source = data.movies.url

            alt.Chart(source).transform_window(
                ecdf="cume_dist()",
                sort=[{"field": "IMDB Rating"}],
            ).mark_line(
                interpolate="step-after"
            ).encode(
                x="IMDB Rating:Q",
                y="ecdf:Q"
            )
            # No channel encoding options are specified in this chart
            # so the code is the same as for the method-based syntax.
