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()
添加回答
舉報