Matplotlib: add_lines 到具有定义属性的颜色条(颜色:OK;虚线:不OK)

ztl*_*ztl 4 matplotlib

我想放置一条线在一个级别(例如,0)colorbarcontourf与情节matplotlib。使用下面的代码,我可以做到,但并非所有contour线条的属性都被保存(即,线条的颜色和宽度是正确的,但我不能将它点缀在颜色栏中)。知道如何在颜色栏中有一条与所需级别相对应的虚线吗?

import matplotlib.pyplot as plt
import numpy

x=y=range(10)
z=numpy.random.normal(0,2,size=(10,10))

surfplot=plt.contourf(x,y,z, cmap=plt.cm.binary_r)
cont=plt.contour(surfplot, levels=[0], colors='r', linewidths=5, linestyles=':')
cbar=plt.colorbar(surfplot)
cbar.add_lines(cont)

plt.show()
Run Code Online (Sandbox Code Playgroud)

颜色栏中的级别

Mol*_*lly 5

您可以直接在颜色条上绘制一条水平线。

cax = cbar.ax
cax.hlines(0.5, 0, 1, colors = 'r', linewidth = 10, linestyles = ':')
Run Code Online (Sandbox Code Playgroud)

虚线颜色条线 您必须根据数据和颜色放大器计算线的 y 坐标。