title: How to plot confusion matrix with string axis rather than integer in python
body: <p>I am following a previous thread on how to plot confusion matrix in Matplotlib. The script is as follows:</p>
  
  <pre><code>from numpy import *
  import matplotlib.pyplot as plt
  from pylab import *
  
  conf_arr = [[33,2,0,0,0,0,0,0,0,1,3], [3,31,0,0,0,0,0,0,0,0,0], [0,4,41,0,0,0,0,0,0,0,1], [0,1,0,30,0,6,0,0,0,0,1], [0,0,0,0,38,10,0,0,0,0,0], [0,0,0,3,1,39,0,0,0,0,4], [0,2,2,0,4,1,31,0,0,0,2], [0,1,0,0,0,0,0,36,0,2,0], [0,0,0,0,0,0,1,5,37,5,1], [3,0,0,0,0,0,0,0,0,39,0], [0,0,0,0,0,0,0,0,0,0,38] ]
  
  norm_conf = []
  for i in conf_arr:
          a = 0
          tmp_arr = []
          a = sum(i,0)
          for j in i:
                  tmp_arr.append(float(j)/float(a))
          norm_conf.append(tmp_arr)
  
  plt.clf()
  fig = plt.figure()
  ax = fig.add_subplot(111)
  res = ax.imshow(array(norm_conf), cmap=cm.jet, interpolation='nearest')
  
  
  for i,j in ((x,y) for x in xrange(len(conf_arr))
              for y in xrange(len(conf_arr[0]))):
      ax.annotate(str(conf_arr[i][j]),xy=(i,j))
  
  cb = fig.colorbar(res)
  savefig("confusion_matrix.png", format="png")
  </code></pre>
  
  <p>I would like to change the axis to show string of letters, say (A, B, C,...) rather than integers (0,1,2,3, ..10). How can one do that. Thanks.</p>
  
  <p>musa</p>