您需要自己创建图例。为此,创建一些未在图中显示的矩形(所谓的代理艺术家)。
#create legendhandles = [Rectangle((0,0),1,1,color=c,ec="k") for c in [low,medium, high]]labels= ["low","medium", "high"]plt.legend(handles, labels)
完整的例子:
import matplotlib.pyplot as pltimport numpy as npfrom matplotlib.patches import Rectangledata = np.random.rayleigh(size=1000)*35N, bins, patches = plt.hist(data, 30, ec="k")cmap = plt.get_cmap('jet')low = cmap(0.5)medium =cmap(0.25)high = cmap(0.8)for i in range(0,4): patches[i].set_facecolor(low)for i in range(4,11): patches[i].set_facecolor(medium)for i in range(11,30): patches[i].set_facecolor(high)#create legendhandles = [Rectangle((0,0),1,1,color=c,ec="k") for c in [low,medium, high]]labels= ["low","medium", "high"]plt.legend(handles, labels)plt.xlabel("Watt Hours", fontsize=16) plt.ylabel("Households", fontsize=16)plt.xticks(fontsize=14) plt.yticks(fontsize=14)plt.gca().spines["top"].set_visible(False) plt.gca().spines["right"].set_visible(False)plt.show()


