1 回答

TA貢獻(xiàn)1807條經(jīng)驗(yàn) 獲得超9個(gè)贊
使用levels=您可以判斷contourf您想要新級(jí)別的值。在這種情況下,案例選擇levels=0,1,2,...,9似乎可以實(shí)現(xiàn)您想要的。
請(qǐng)注意,顏色是在對(duì) 的調(diào)用中決定的contourf。該函數(shù)colorbar只是試圖可視化使用的顏色。
下面的代碼首先創(chuàng)建一些介于 0 和 20 之間的隨機(jī)數(shù)據(jù),異常值值為 50。默認(rèn)調(diào)用contourfis compared to one werelevels是明確設(shè)置的。
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()