问题 I have some arrays that I need to plot in a loop with a certain colormap. However, one of my arrays is length-4, and I run into this problem: import numpy as np import matplotlib as plt ns = range(2,8) cm = plt.cm.get_cmap('spectral') cmap = [cm(1.*i/len(ns)) for i in range(len(ns))] for i,n in enumerate(ns): x = np.linspace(0, 10, num=n) y = np.zeros(n) + i plt.scatter(x, y, c=cmap[i], edgecolor='none', s=50, label=n) plt.legend(loc='lower left') plt.show() For n=4 , it looks like Matplotlib