1 回答

TA贡献1807条经验 获得超9个赞
使用levels=您可以判断contourf您想要新级别的值。在这种情况下,案例选择levels=0,1,2,...,9似乎可以实现您想要的。
请注意,颜色是在对 的调用中决定的contourf。该函数colorbar只是试图可视化使用的颜色。
下面的代码首先创建一些介于 0 和 20 之间的随机数据,异常值值为 50。默认调用contourfis compared to one werelevels是明确设置的。
import matplotlib.pyplot as plt
from matplotlib.patches import Ellipse
import numpy as np
N, M = 100, 300
x = np.random.uniform(-0.1, 0.1, (N, M)).cumsum(axis=1).cumsum(axis=0)
x -= x.min()
x *= 20 / x.max()
x[-1,-1] = 50
fig, (ax1, ax2) = plt.subplots(ncols=2, figsize=(12,4))
cont1 = ax1.contourf(x, cmap='rainbow')
plt.colorbar(cont1, ax=ax1)
cont2 = ax2.contourf(x, levels=np.arange(10), cmap='rainbow')
plt.colorbar(cont2, ax=ax2)
plt.show()
添加回答
举报