colorbar不适用于vmin和vmax

时间:2018-06-12 18:40:31

标签: python matplotlib plot

我有以下奇怪的行为:当我限制图的范围时,颜色图显示它:

import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots()

x = np.linspace(0,1,100)
X,Y = np.meshgrid(x,x,indexing="ij")

im = ax.contourf(X,Y,X**2-Y**2, 100, vmin = 0, vmax = 0.5)

plt.colorbar(im, ax=ax)

plt.show()

enter image description here

如何正确配置色条的限制?

1 个答案:

答案 0 :(得分:4)

ax.contourf()中的100表示​​您想要轮廓内的100个等级。在绘图本身中,您的值确实超过0.5。

您可以自定义颜色条刻度的范围。

import matplotlib.pyplot as plt
import numpy as np
fig, ax = plt.subplots()
cbarticks = np.arange(0.0,0.55,0.05)
x = np.linspace(0,1,100)
X,Y = np.meshgrid(x,x,indexing="ij")

im = ax.contourf(X,Y,X**2-Y**2, cbarticks, vmin = 0, vmax = 0.5)

plt.colorbar(im, ax=ax,ticks=cbarticks)

plt.show()

会给你

enter image description here

不确定这是否正是您想要的,但我有一个类似的问题并在此自行回答:Colorbar Question