擅长:python、mysql、java
<p>您可以基于现有颜色创建自定义颜色映射,并将其中一种颜色替换为红色。<br/>
然后可以使用<code>BoundaryNorm</code>将新颜色映射中的颜色用于指定级别。在</p>
<pre><code>import numpy as np
import matplotlib.pyplot as plt
import matplotlib.colors
d = np.linspace(-3,3)
x,y = np.meshgrid(d,d)
data = -585.22 + 94*np.exp(-(x**2+y**2))
levels = np.linspace(-585.22, -485.22, 13)
norm = matplotlib.colors.BoundaryNorm(levels,len(levels))
colors = list(plt.cm.Greys(np.linspace(0,1,len(levels)-1)))
colors[-1] = "red"
cmap = matplotlib.colors.ListedColormap(colors,"", len(colors))
im = plt.contourf(data, levels, cmap=cmap, norm=norm)
plt.colorbar(ticks=levels)
plt.show()
</code></pre>
<p><a href="https://i.stack.imgur.com/DQvOG.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/DQvOG.png" alt="enter image description here"/></a></p>