
.. DO NOT EDIT.
.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
.. "gallery/axes_grid1/demo_axes_rgb.py"
.. LINE NUMBERS ARE GIVEN BELOW.

.. only:: html

    .. meta::
        :keywords: codex

    .. note::
        :class: sphx-glr-download-link-note

        :ref:`Go to the end <sphx_glr_download_gallery_axes_grid1_demo_axes_rgb.py>`
        to download the full example code.

.. rst-class:: sphx-glr-example-title

.. _sphx_glr_gallery_axes_grid1_demo_axes_rgb.py:


===============================
Show RGB channels using RGBAxes
===============================

`~.axes_grid1.axes_rgb.RGBAxes` creates a layout of 4 Axes for displaying RGB
channels: one large Axes for the RGB image and 3 smaller Axes for the R, G, B
channels.

.. GENERATED FROM PYTHON SOURCE LINES 10-71

.. code-block:: Python


    import matplotlib.pyplot as plt
    import numpy as np

    from matplotlib import cbook
    from mpl_toolkits.axes_grid1.axes_rgb import RGBAxes, make_rgb_axes


    def get_rgb():
        Z = cbook.get_sample_data("axes_grid/bivariate_normal.npy")
        Z[Z < 0] = 0.
        Z = Z / Z.max()

        R = Z[:13, :13]
        G = Z[2:, 2:]
        B = Z[:13, 2:]

        return R, G, B


    def make_cube(r, g, b):
        ny, nx = r.shape
        R = np.zeros((ny, nx, 3))
        R[:, :, 0] = r
        G = np.zeros_like(R)
        G[:, :, 1] = g
        B = np.zeros_like(R)
        B[:, :, 2] = b

        RGB = R + G + B

        return R, G, B, RGB


    def demo_rgb1():
        fig = plt.figure()
        ax = RGBAxes(fig, [0.1, 0.1, 0.8, 0.8], pad=0.0)
        r, g, b = get_rgb()
        ax.imshow_rgb(r, g, b)


    def demo_rgb2():
        fig, ax = plt.subplots()
        ax_r, ax_g, ax_b = make_rgb_axes(ax, pad=0.02)

        r, g, b = get_rgb()
        im_r, im_g, im_b, im_rgb = make_cube(r, g, b)
        ax.imshow(im_rgb)
        ax_r.imshow(im_r)
        ax_g.imshow(im_g)
        ax_b.imshow(im_b)

        for ax in fig.axes:
            ax.tick_params(direction='in', color='w')
            ax.spines[:].set_color("w")


    demo_rgb1()
    demo_rgb2()

    plt.show()


.. _sphx_glr_download_gallery_axes_grid1_demo_axes_rgb.py:

.. only:: html

  .. container:: sphx-glr-footer sphx-glr-footer-example

    .. container:: sphx-glr-download sphx-glr-download-jupyter

      :download:`Download Jupyter notebook: demo_axes_rgb.ipynb <demo_axes_rgb.ipynb>`

    .. container:: sphx-glr-download sphx-glr-download-python

      :download:`Download Python source code: demo_axes_rgb.py <demo_axes_rgb.py>`

    .. container:: sphx-glr-download sphx-glr-download-zip

      :download:`Download zipped: demo_axes_rgb.zip <demo_axes_rgb.zip>`


.. only:: html

 .. rst-class:: sphx-glr-signature

    `Gallery generated by Sphinx-Gallery <https://sphinx-gallery.github.io>`_
