亲爱的大家,我正在尝试使用颜色绘制散点图,并带有相关联的颜色条。我希望颜色条具有字符串值,而不是数字值,因为我正在比较两个不同的数据集,每个数据集都有不同的颜色值(但无论如何在最大和最小值之间)。这里是我正在使用的代码。
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}]$',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()
很不幸,cbar.set_ticks不接受字符串值,因此它无法工作。我已经阅读了http://matplotlib.sourceforge.net/examples/pylab_examples/colorbar_tick_labelling_demo.html,但我无法将其适应到我的情况中。如果问题太简单,请原谅,因为我刚开始学习Python编程。- Nicola。