【问题标题】:Ticks in colorbar of matplotlib (Python) are not positioned correctly when I add an arbitrary value当我添加任意值时,matplotlib(Python)颜色栏中的刻度未正确定位
【发布时间】:2021-10-26 05:51:57
【问题描述】:

我已经绘制了一个带有颜色条和等间距数据级别的轮廓(以及在顶部绘制线条的轮廓)图,这没关系。但是,当我添加任意级别值(示例中为1.1)时,它在颜色栏中没有正确表示。

在下面的可重现示例中,除了步长为0.5 的级别之外,还添加了步长为0.1 的新值。在颜色栏中,距离是相同的。

我该如何纠正这个问题?

提前致谢

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(-2.0, 3.0, 0.025)
y = np.arange(-2.0, 3.0, 0.025)
X, Y = np.meshgrid(x, y)
Z1 = np.exp(-X**2 - Y**2)
Z2 = np.exp(-(X - 1)**2 - (Y - 1)**2)
Z = (Z1 - Z2) * 2

levels = np.arange(-2,3,1)
levels=np.append(levels,1.1)
levels=np.sort(levels)

fig, ax = plt.subplots()
c = plt.contourf(X, Y, Z, levels=levels,alpha=0.15)
cs = plt.contour(X, Y, Z, levels=levels)
ax.clabel(cs, inline=1, fontsize=10)
cbar=plt.colorbar(c)
plt.show()

【问题讨论】:

    标签: python matplotlib plot colorbar contourf


    【解决方案1】:

    您应该将spacing 参数传递给plt.colorbar

    间距: uniform 间距为每个离散颜色提供相同的空间; proportional 使空间与数据间隔成比例。

    cbar=plt.colorbar(c, spacing = 'proportional')
    

    【讨论】:

      猜你喜欢
      • 2016-06-10
      • 1970-01-01
      • 2014-10-19
      • 1970-01-01
      • 1970-01-01
      • 2013-09-13
      • 1970-01-01
      • 1970-01-01
      • 2017-01-22
      相关资源
      最近更新 更多