基本上,我找到了these关于如何在colorbar上添加自定义线条或点的说明,但我的代码什么也没发生。
我试着改变zorder,或者切换到pyplot风格,但仍然无法让它工作。
fig, ax = plt.subplots()
im = ax.imshow(data, cmap='rainbow')
cbar = ax.figure.colorbar(im)
cbar.outline.set_visible(False)
cbar.ax.set_ylabel("α", rotation=0, va="bottom")
# None of them does anything
cbar.ax.plot(0.5, 0.5, 'k.', label="Ref")
cbar.ax.plot(0.5, 3, 'k.', label="Ref")
cbar.ax.plot([0, 1], [3, 3], 'k', label="Ref")
到目前为止,数字看起来像this
我用的是matplotlib 3.1.1
2条答案
按热度按时间ibrsph3r1#
Matplotlib会将颜色条的x和y限制设置为相同的值。因此,如果颜色条的y限制为1.8和7.2,则x限制也是如此。您需要在这些限制内绘图才能看到标记。
使用
axhline
可能比使用plot
绘制一条线更容易。要标记此标记值,您可以将其添加到颜色条标记和标记标签中。7y4bm7vi2#
在这种情况下,您可能需要
annotate
而不是plot
。您在plot
调用中指定的标签将不会显示,直到legend()
调用,即使在这种情况下,图例也不会显示在您想要的位置。