Python imshow的色条与轮廓重叠

Python imshow的色条与轮廓重叠,python,contour,colorbar,Python,Contour,Colorbar,我试图得到一个颜色栏,其中包含了imshow的值,并有3条线的轮廓过画。其中一个matplotlib示例显示了一些接近的内容,但它们只有彩色轮廓。这张图片有一个我想要的颜色条 这是我的代码和图片,它忽略了imshow的cmap的颜色条 plt.imshow(Bho, origin='l') plt.contour(Bho, [300,400,500],origin='lower', colors=['white', 'yellow', 'red']) plt.colorbar() plt.sh

我试图得到一个颜色栏,其中包含了imshow的值,并有3条线的轮廓过画。其中一个matplotlib示例显示了一些接近的内容,但它们只有彩色轮廓。这张图片有一个我想要的颜色条

这是我的代码和图片,它忽略了imshow的cmap的颜色条

plt.imshow(Bho, origin='l')
plt.contour(Bho, [300,400,500],origin='lower', colors=['white', 'yellow', 'red'])
plt.colorbar()
plt.show()

您缺少的是,还需要将返回的对象从
imshow
传递到颜色栏。我准备了一个最简单的工作示例,演示如何在颜色栏中获取图像值和定义的级别

import numpy as np
import matplotlib.pyplot as plt

Bho = np.random.random(size=10000).reshape(100,100)

fig, ax = plt.subplots()
im = ax.imshow(Bho, origin='l')
_cs2 = ax.contour(Bho, levels=[0.2,0.4] ,origin='lower', colors=['white','red'])

cbar = fig.colorbar(im, ax=ax)
cbar.add_lines(_cs2)

plt.show()
结果


您缺少的是,还需要将返回的对象从
imshow
传递到颜色栏。我准备了一个最简单的工作示例,演示如何在颜色栏中获取图像值和定义的级别

import numpy as np
import matplotlib.pyplot as plt

Bho = np.random.random(size=10000).reshape(100,100)

fig, ax = plt.subplots()
im = ax.imshow(Bho, origin='l')
_cs2 = ax.contour(Bho, levels=[0.2,0.4] ,origin='lower', colors=['white','red'])

cbar = fig.colorbar(im, ax=ax)
cbar.add_lines(_cs2)

plt.show()
结果


是否可以从imshow colorbar ie自动提供轮廓级别。使用colorbar的主刻度作为级别?是否可以从imshow colorbar ie自动提供轮廓级别。使用colorbar的主刻度作为级别?