title: Plot lines in different colors from color dictionary in Python
body: <p>I'm trying to plot the path of 15 different storms on a map in 15 different colors. The color of the path should depend on the name of the storm. For example if the storm's name is AUDREY, the color of the storm's path should be red on the map. Could some please help/point me in the right direction?</p>
  
  <p>Here's the part of my code:</p>
  
  <pre><code>import numpy as np
  from mpl_toolkits.basemap import Basemap
  import matplotlib.pyplot as plt
  import csv, os, scipy
  import pandas
  from PIL import *
  
  
  data = np.loadtxt('louisianastormb.csv',dtype=np.str,delimiter=',',skiprows=1)
  '''print data'''
  fig = plt.figure(figsize=(12,12))
  
  ax = fig.add_axes([0.1,0.1,0.8,0.8])
  
  m = Basemap(llcrnrlon=-100.,llcrnrlat=0.,urcrnrlon=-20.,urcrnrlat=57.,
              projection='lcc',lat_1=20.,lat_2=40.,lon_0=-60.,
              resolution ='l',area_thresh=1000.)
  
  m.bluemarble()
  m.drawcoastlines(linewidth=0.5)
  m.drawcountries(linewidth=0.5)
  m.drawstates(linewidth=0.5)
  
  # Creates parallels and meridians
  m.drawparallels(np.arange(10.,35.,5.),labels=[1,0,0,1])
  m.drawmeridians(np.arange(-120.,-80.,5.),labels=[1,0,0,1])
  m.drawmapboundary(fill_color='aqua')
  color_dict = {'AUDREY': 'red', 'ETHEL': 'white', 'BETSY': 'yellow','CAMILLE': 'blue', 'CARMEN': 'green',
  'BABE': 'purple', 'BOB': '#ff69b4', 'FREDERIC': 'black', 'ELENA': 'cyan', 'JUAN': 'magenta', 'FLORENCE': '#faebd7',
  'ANDREW': '#2e8b57', 'GEORGES': '#eeefff', 'ISIDORE': '#da70d6', 'IVAN': '#ff7f50', 'CINDY': '#cd853f',
  'DENNIS': '#bc8f8f', 'RITA': '#5f9ea0', 'IDA': '#daa520'}
  
  # Opens data file witn numpy
  '''data = np.loadtxt('louisianastormb.csv',dtype=np.str,delimiter=',',skiprows=0)'''
  '''print data'''
  colnames = ['Year','Name','Type','Latitude','Longitude']
  data = pandas.read_csv('louisianastormb.csv', names=colnames)
  names = list(data.Name)
  lat = list(data.Latitude)
  long = list(data.Longitude)
  colorName = list(data.Name)
  #print lat
  #print long
  lat.pop(0)
  long.pop(0)
  latitude= map(float, lat)
  longitude = map(float, long)
  x, y = m(latitude,longitude)
  #Plots points on map
  for colorName in color_dict.keys():
      plt.plot(x,y,'-',label=colorName,color=color_dict[colorName], linewidth=2 )
      lg = plt.legend()
      lg.get_frame().set_facecolor('grey')
  plt.title('20 Hurricanes with Landfall in Louisiana')
  #plt.show()
  plt.savefig('20hurpaths1.jpg', dpi=100)
  </code></pre>
  
  <p>Here's the error message that I keep getting is:</p>
  
  <pre><code>Traceback (most recent call last):                                                                                 
      File "/home/mikey1/lstorms.py", line 51, in &lt;module&gt;                                                          
      plt.plot(x,y,'y-',color=colors[names], linewidth=2 )                                                           
     TypeError: unhashable type: 'list'                                                                                 
   &gt;&gt;&gt; 
  </code></pre>