
:orphan:
:html_theme.sidebar_secondary.remove:

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

.. _gallery_bar_and_line_with_dual_axis:


Bar Chart with Line on Dual Axis
--------------------------------
This example shows how to combine two plots and keep their axes.

For a more polished version of this chart, see :ref:`gallery_wheat_wages`.


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


    import altair as alt
    from altair.datasets import data

    source = data.wheat()

    base = alt.Chart(source).encode(x='year:O')

    bar = base.mark_bar().encode(y='wheat:Q')

    line =  base.mark_line(color='red').encode(
        y='wages:Q'
    )

    (bar + line).properties(width=600)
    # 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.wheat()

            base = alt.Chart(source).encode(x='year:O')

            bar = base.mark_bar().encode(y='wheat:Q')

            line =  base.mark_line(color='red').encode(
                y='wages:Q'
            )

            (bar + line).properties(width=600)


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

        .. code:: python


            import altair as alt
            from altair.datasets import data

            source = data.wheat()

            base = alt.Chart(source).encode(x='year:O')

            bar = base.mark_bar().encode(y='wheat:Q')

            line =  base.mark_line(color='red').encode(
                y='wages:Q'
            )

            (bar + line).properties(width=600)
            # No channel encoding options are specified in this chart
            # so the code is the same as for the method-based syntax.
