注释 matplotlib.basemap 图的颜色条

Annotating colorbar of a matplotlib.basemap plot

下面的代码将绘制我希望看到的内容,但我想知道如何编辑颜色栏以便它有标题?

fig = plt.figure()
ax = fig.add_subplot(1,1,1)
x = []
y = []
z = []
with open('TEMP.txt', 'r') as csvfile:
    plots = csv.reader(csvfile, delimiter="\t")
    for row in plots:
        x.append(float(row[0]))
        y.append(float(row[1]))
        z.append(float(row[2]))
m = Basemap(projection='stere',lat_ts = -25, lat_0 = -25.27 , lon_0 = 133.77, resolution='l',width=14000000, height=10000000)

m.drawcoastlines()
m.drawparallels(np.arange(-80, 80, 20))
m.drawmeridians(np.arange(-180, 181, 20))
m.fillcontinents(color='coral')
lats = x
lons = y
time = z
x, y = m(lons,lats)
sc = m.scatter(x,y,60,z,cmap='jet',marker='o')
plt.colorbar(sc)
plt.show()

有两种不同的方法可以做到这一点。这首先是@umutto 在使用 set_label 的评论中建议的。第二种是使用 ax.set_title,但标签的默认位置存在一些差异。

plt.imshow(np.random.randn(25).reshape(5,5))

cb = plt.colorbar() 

cb.set_label("Test 1", rotation=270)
cb.ax.set_title("Test 2")

plt.show()  

这会产生下图: