.. _api-colorbar_only:

api example code: colorbar_only.py
==================================



.. plot:: /build/matplotlib-ntJFVk/matplotlib-1.3.1/doc/mpl_examples/api/colorbar_only.py

::

    '''
    Make a colorbar as a separate figure.
    '''
    
    from matplotlib import pyplot
    import matplotlib as mpl
    
    # Make a figure and axes with dimensions as desired.
    fig = pyplot.figure(figsize=(8,3))
    ax1 = fig.add_axes([0.05, 0.80, 0.9, 0.15])
    ax2 = fig.add_axes([0.05, 0.475, 0.9, 0.15])
    ax3 = fig.add_axes([0.05, 0.15, 0.9, 0.15])
    
    # Set the colormap and norm to correspond to the data for which
    # the colorbar will be used.
    cmap = mpl.cm.cool
    norm = mpl.colors.Normalize(vmin=5, vmax=10)
    
    # ColorbarBase derives from ScalarMappable and puts a colorbar
    # in a specified axes, so it has everything needed for a
    # standalone colorbar.  There are many more kwargs, but the
    # following gives a basic continuous colorbar with ticks
    # and labels.
    cb1 = mpl.colorbar.ColorbarBase(ax1, cmap=cmap,
                                       norm=norm,
                                       orientation='horizontal')
    cb1.set_label('Some Units')
    
    # The second example illustrates the use of a ListedColormap, a
    # BoundaryNorm, and extended ends to show the "over" and "under"
    # value colors.
    cmap = mpl.colors.ListedColormap(['r', 'g', 'b', 'c'])
    cmap.set_over('0.25')
    cmap.set_under('0.75')
    
    # If a ListedColormap is used, the length of the bounds array must be
    # one greater than the length of the color list.  The bounds must be
    # monotonically increasing.
    bounds = [1, 2, 4, 7, 8]
    norm = mpl.colors.BoundaryNorm(bounds, cmap.N)
    cb2 = mpl.colorbar.ColorbarBase(ax2, cmap=cmap,
                                         norm=norm,
                                         # to use 'extend', you must
                                         # specify two extra boundaries:
                                         boundaries=[0]+bounds+[13],
                                         extend='both',
                                         ticks=bounds, # optional
                                         spacing='proportional',
                                         orientation='horizontal')
    cb2.set_label('Discrete intervals, some other units')
    
    # The third example illustrates the use of custom length colorbar
    # extensions, used on a colorbar with discrete intervals.
    cmap = mpl.colors.ListedColormap([[0., .4, 1.], [0., .8, 1.],
        [1., .8, 0.], [1., .4, 0.]])
    cmap.set_over((1., 0., 0.))
    cmap.set_under((0., 0., 1.))
    
    bounds = [-1., -.5, 0., .5, 1.]
    norm = mpl.colors.BoundaryNorm(bounds, cmap.N)
    cb3 = mpl.colorbar.ColorbarBase(ax3, cmap=cmap,
                                         norm=norm,
                                         boundaries=[-10]+bounds+[10],
                                         extend='both',
                                         # Make the length of each extension
                                         # the same as the length of the
                                         # interior colors:
                                         extendfrac='auto',
                                         ticks=bounds,
                                         spacing='uniform',
                                         orientation='horizontal')
    cb3.set_label('Custom extension lengths, some other units')
    
    pyplot.show()
    

Keywords: python, matplotlib, pylab, example, codex (see :ref:`how-to-search-examples`)