On 16-Jun-14 00:46, Raymond Smith wrote:
Hi Virgil,

I did something very much like this recently by simply adding an axes to my figure and using it to show a linspace of the data range off which the line color was based. See http://matplotlib.org/examples/color/colormaps_reference.html.

Best,
Ray


On Sun, Jun 15, 2014 at 6:17 PM, Virgil Stokes <v...@it.uu.se <mailto:v...@it.uu.se>> wrote:

    There are some rather nice and useful matplotlib examples for
    colormaps that are shown at:

    
http://nbviewer.ipython.org/github/dpsanders/matplotlib-examples/blob/master/colorline.ipynb

    In*Example 1.  Sine wave colored by time (uses the defaults for
    colorline)*, how can one add a colorbar?

    --V

    
------------------------------------------------------------------------------
    HPCC Systems Open Source Big Data Platform from LexisNexis Risk
    Solutions
    Find What Matters Most in Your Big Data with HPCC Systems
    Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
    Leverages Graph Analysis for Fast Processing & Easy Data Exploration
    http://p.sf.net/sfu/hpccsystems
    _______________________________________________
    Matplotlib-users mailing list
    Matplotlib-users@lists.sourceforge.net
    <mailto:Matplotlib-users@lists.sourceforge.net>
    https://lists.sourceforge.net/lists/listinfo/matplotlib-users


Thanks for your response to my request, Ray. I had looked at this approach earlier; but, what I really need is something like is produced by the following code for the cax object:

"""Produce custom labelling for a colorbar.

 Original Script:  Scott Sinclair
    Modification:  V. Stokes
"""

import matplotlib.pyplot as plt
import numpy             as np
import matplotlib.colors as col
from matplotlib   import cm
from numpy.random import randn

def register_cmap():
    """
     Purpose: define colormap using the from_List() method as a
              segmented list and register it.
    """
    cmap_Name  = 'reyegr'    # my colormap name
    startcolor = '#00AF33'   # truegreen
    midcolor   = '#FFE600'   # yolk (a medium dark yellow)
    endcolor   = '#FF0033'   # bright red
    cmap2 = col.LinearSegmentedColormap.from_list(cmap_Name,
[startcolor,midcolor,endcolor])
    cm.register_cmap(cmap=cmap2)
    return cm.get_cmap(cmap_Name)  # my new cmap for 'reylgr'

#-----------------------------------------------------------------------------
my_cmap = register_cmap()

## Vertical colorbar-1
fig, ax = plt.subplots()

data = np.clip(randn(250, 250), -1, 1)

cax = ax.imshow(data, interpolation='nearest', cmap=my_cmap)
ax.set_title('Gaussian noise with vertical colorbar')
# Add colorbar, make sure to specify tick locations to match desired ticklabels
cbar = fig.colorbar(cax, ticks=[-1, 0, 1])
cbar.ax.set_yticklabels(['<-1', '0', '> 1'])# vertically oriented colorbar

## Vertical colorbar-2
fig, ax = plt.subplots()

data = np.clip(randn(50, 50), -1, 1)

#cax = ax.imshow(data, interpolation='nearest', cmap=cm.coolwarm)
cax = ax.imshow(data, interpolation='nearest', cmap=my_cmap)
ax.set_title('Gaussian noise with vertical colorbar')

# Add colorbar, make sure to specify tick locations to match desired ticklabels
cbar = fig.colorbar(cax, ticks=[-1, 0, 1])
# Vertically oriented (by default) colorbar
cbar.ax.set_yticklabels(['Low', 'Medium', 'High'])

## Horizontal colorbar
fig, ax = plt.subplots()
#
cax = ax.imshow(data, interpolation='nearest', cmap=my_cmap)
ax.set_title('Gaussian noise with horizontal colorbar')

cbar = fig.colorbar(cax, ticks=[-1, 0, 1], orientation='horizontal')
cbar.ax.set_xticklabels(['Low', 'Medium', 'High'])# horizontal colorbar

plt.show()

But, for a colorline object, which was referenced in the link given in my earlier email.

--V
------------------------------------------------------------------------------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to