
:orphan:
:html_theme.sidebar_secondary.remove:

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

.. _gallery_top_k_items:


Top K Items
-----------
This example shows how to use the window and transformation filter to display
the Top items of a long list of items in decreasing order.
Here we sort the top 10 highest ranking movies of IMDB.


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


    import altair as alt
    from altair.datasets import data

    source = data.movies.url

    # Top 10 movies by IMBD rating
    alt.Chart(
        source,
    ).mark_bar().encode(
        x=alt.X('Title:N', sort='-y'),
        y=alt.Y('IMDB Rating:Q'),
    color=alt.Color('IMDB Rating:Q')
        
    ).transform_window(
        rank='rank(IMDB Rating)',
    sort=[alt.SortField('IMDB Rating', order='descending')]
    ).transform_filter(
        (alt.datum.rank < 10)
    )


.. tab-set::

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

        .. code:: python


            import altair as alt
            from altair.datasets import data

            source = data.movies.url

            # Top 10 movies by IMBD rating
            alt.Chart(
                source,
            ).mark_bar().encode(
                alt.X('Title:N').sort('-y'),
                alt.Y('IMDB Rating:Q'),
            alt.Color('IMDB Rating:Q')
                
            ).transform_window(
                rank='rank(IMDB Rating)',
            sort=[alt.SortField('IMDB Rating', order='descending')]
            ).transform_filter(
                (alt.datum.rank < 10)
            )


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

        .. code:: python


            import altair as alt
            from altair.datasets import data

            source = data.movies.url

            # Top 10 movies by IMBD rating
            alt.Chart(
                source,
            ).mark_bar().encode(
                x=alt.X('Title:N', sort='-y'),
                y=alt.Y('IMDB Rating:Q'),
            color=alt.Color('IMDB Rating:Q')
                
            ).transform_window(
                rank='rank(IMDB Rating)',
            sort=[alt.SortField('IMDB Rating', order='descending')]
            ).transform_filter(
                (alt.datum.rank < 10)
            )
