您正在
contourf条形图中创建一个图。这是没有意义的。
取而代之的是,您需要创建一个没有任何视觉表示的可映射对象以提供给颜色栏。这将是一个
ScalarMappable。
import matplotlib.pyplot as pltfrom matplotlib.cm import ScalarMappabledata_x = [0,1,2,3]data_hight = [60,60,80,100]data_color = [1000.,500.,1000.,900.]data_color = [x / max(data_color) for x in data_color]fig, ax = plt.subplots(figsize=(15, 4))my_cmap = plt.cm.get_cmap('GnBu')colors = my_cmap(data_color)rects = ax.bar(data_x, data_hight, color=colors)sm = ScalarMappable(cmap=my_cmap, norm=plt.Normalize(0,max(data_color)))sm.set_array([])cbar = plt.colorbar(sm)cbar.set_label('Color', rotation=270,labelpad=25)plt.xticks(data_x) plt.ylabel("Y")plt.show()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)