【问题标题】:Colorbar of imshow and contour overlappedimshow 和轮廓的颜色条重叠
【发布时间】:2020-06-15 19:55:19
【问题描述】:

我正在尝试获取一个包含 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()

【问题讨论】:

    标签: python contour colorbar


    【解决方案1】:

    您缺少的是您还需要将返回的对象从 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 颜色栏自动提供轮廓级别,即。使用颜色栏中的主要刻度作为级别?
    猜你喜欢
    • 1970-01-01
    • 2020-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-11
    • 2012-08-29
    • 1970-01-01
    相关资源
    最近更新 更多