【问题标题】:Python/Matplotlib - Colorbar Range and Display ValuesPython/Matplotlib - 颜色栏范围和显示值
【发布时间】:2011-08-15 03:47:07
【问题描述】:

当使用带有等高线图的 matplotlib 时,我无法让颜色条按我的意愿显示。我已经阅读了许多类似的例子,但仍然无法得到我想要的。

在下图中,我想要改变两件事。我希望在彩条上显示最小值和最大值(最大值应为 2.0,最小值应为 -0.1)。这两个值应该位于颜色条的最边缘。另外,我希望颜色条在每次颜色转换时显示值。例如。在下图中,在 2.1 和 1.8 之间,还有另一个颜色过渡,其中没有显示值。

谁能帮帮我?我想我可能需要使用 norm,但到目前为止它对我没有用。

谢谢,

代码:

import numpy as np
import matplotlib.pyplot as plt

xi = np.array([0., 0.5, 1.0])
yi = np.array([0., 0.5, 1.0])
zi = np.array([[0., 1.0, 2.0],
               [0., 1.0, 2.0],
               [-0.1, 1.0, 2.0]])

plt.contour(xi, yi, zi, 15, linewidths=0.5, colors='k')
plt.contourf(xi, yi, zi, 15, cmap=plt.cm.jet)
plt.colorbar()
plt.show()

【问题讨论】:

    标签: python matplotlib contour colorbar


    【解决方案1】:

    如果我正确理解你想要什么,我认为应该这样做:

    import numpy as np
    import matplotlib.pyplot as plt
    
    xi = np.array([0., 0.5, 1.0])
    yi = np.array([0., 0.5, 1.0])
    zi = np.array([[0., 1.0, 2.0],
                   [0., 1.0, 2.0],
                   [-0.1, 1.0, 2.0]])
    
    v = np.linspace(-.1, 2.0, 15, endpoint=True)
    plt.contour(xi, yi, zi, v, linewidths=0.5, colors='k')
    plt.contourf(xi, yi, zi, v, cmap=plt.cm.jet)
    x = plt.colorbar(ticks=v)
    print x
    plt.show()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-08
      • 1970-01-01
      • 2017-07-31
      • 1970-01-01
      • 2017-08-01
      相关资源
      最近更新 更多