我有一种情况,我想创建一个颜色条,其颜色(与散点图相关)跨越特定范围,但仅在颜色条本身上显示该范围的子集。我可以用 来做到这一点contourf,因为我可以独立于轮廓水平设置vmin和vmax,但我不知道如何用分散来做到这一点。请参阅以下内容:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import make_axes_locatable
x = np.linspace(0, 2*np.pi, 101)
x_arr = np.sin(x)
y_arr = np.cos(x)
arr = y_arr[:,None] * x_arr[None,:]
arr = np.where(arr < 0, arr*4, arr)
ptslist = np.array([-4, -3, -2, -1, 0, 1], dtype=np.float32)
fig, axs = plt.subplots(figsize=(11,5), nrows=1, ncols=2)
# I can achieve my desired behavior with contourf
cont = axs[0].contourf(x, x, arr, levels=np.linspace(-4,1,11),
cmap='BrBG_r', vmin=-4, vmax=4)
div0 = …Run Code Online (Sandbox Code Playgroud)