Matplotlib Pyplot Farbleiste Frage

Liebe zusammen, ich versuche ein Streudiagramm mit Farbe und einem dazugehörigen Farbbalken zu erstellen. Ich möchte, dass die Farbleiste Zeichenfolgenwerte anstelle von numerischen Werten enthält, da ich zwei verschiedene Datensätze mit jeweils unterschiedlichen Farbwerten vergleiche (aber auf jeden Fall zwischen einem Maximal- und einem Minimalwert). Hier der Code, den ich benutze

import matplotlib.pyplot as plt
import numpy as np
from numpy import *
from matplotlib import rc
import pylab
from pylab import *
from matplotlib import mpl
data   = np.loadtxt('deltaBinned.txt')
data2  = np.loadtxt('deltaHalphaBinned.txt')
fig=plt.figure()
fig.subplots_adjust(bottom=0.1)
ax=fig.add_subplot(111)
plt.xlabel(r'$\partial \Delta/\partial\Phi[$mm$/^{\circ}]

Leider funktioniert es nicht, da cbar.set_ticks keine String-Werte akzeptiert. Ich habe die Ling @ geleshttp: //matplotlib.sourceforge.net/examples/pylab_examples/colorbar_tick_labelling_demo.htm aber ich konnte es nicht an meinen Fall anpassen. Ich entschuldige mich, wenn die Frage einfach ist, aber ich bin erst am Anfang der Python-Programmierung Nicola.

,fontsize=16) plt.ylabel(r'$\Delta$ [mm]',fontsize=16) plt.scatter(data[:,0],data[:,1],marker='o',c=data[:,3],s=data[:,3]*1500,cmap=cm.Spectral,vmin=min(data[:,3]),vmax=max(data[:,3])) plt.scatter(data2[:,0],data2[:,1],marker='^',c=data2[:,2],s=data2[:,2]*500,cmap=cm.Spectral,vmin=min(data2[:,2]),vmax=max(data2[:,2])) cbar=plt.colorbar(ticks=[min(data2[:,2]),max(data2[:,2])]) cbar.set_ticks(['Low','High']) cbar.set_label(r'PdF') plt.show()

Leider funktioniert es nicht, da cbar.set_ticks keine String-Werte akzeptiert. Ich habe die Ling @ geleshttp: //matplotlib.sourceforge.net/examples/pylab_examples/colorbar_tick_labelling_demo.htm aber ich konnte es nicht an meinen Fall anpassen. Ich entschuldige mich, wenn die Frage einfach ist, aber ich bin erst am Anfang der Python-Programmierung Nicola.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage