如何在使用contourf时减小色条限制?图形本身的颜色边界已经通过"vmin"和"vmax"很好地设置,但色条边界没有被修改。
我正在使用 matplotlib 3.0.2。
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(20)
y = np.arange(20)
data = x[:,None]+y[None,:]
X,Y = np.meshgrid(x,y)
vmin = 0
vmax = 15
#My attempt
fig,ax = plt.subplots()
contourf_ = ax.contourf(X,Y,data, 400, vmin=vmin, vmax=vmax)
cbar = fig.colorbar(contourf_)
cbar.set_clim( vmin, vmax )
# With solution from https://dev59.com/A1QJ5IYBdhLWcg3wiWeb
levels = np.linspace(vmin, vmax, 400+1)
fig,ax = plt.subplots()
contourf_ = ax.contourf(X,Y,data, levels=levels, vmin=vmin, vmax=vmax)
cbar = fig.colorbar(contourf_)
plt.show()
从 "在matplotlib中设置Colorbar范围" 的解决方案适用于pcolormesh,但不适用于contourf。我想要的结果看起来像下面这样,但是要使用contourf。fig,ax = plt.subplots()
contourf_ = ax.pcolormesh(X,Y,data[1:,1:], vmin=vmin, vmax=vmax)
cbar = fig.colorbar(contourf_)
如果限制被扩大,那么从 "set colorbar range with contourf" 的解决方案可能还可以接受,但如果限制被缩小,就不行了。我正在使用 matplotlib 3.0.2。
ax.set_facecolor(plt.cm.viridis(1.0))
- ImportanceOfBeingErnest