2024-04-20 01:30:45 发布
网友
您可以使用^{}参数(例如scatter方法)手动选择不同绘图的显示顺序。
scatter
为了演示,请参见下面的代码,其中左侧子块中的散点图有zorder=1,右侧子块中的散点图有zorder=-1。具有最高zorder的对象放在顶部。这意味着散射将被放置在第一个子块的轮廓顶部,而它被放置在第二个子块的下面。
zorder=1
zorder=-1
zorder
import numpy as np import matplotlib.cm as cm import matplotlib.mlab as mlab import matplotlib.pyplot as plt delta = 0.025 x = np.arange(-3.0, 3.0, delta) y = np.arange(-2.0, 2.0, delta) X, Y = np.meshgrid(x, y) Z1 = mlab.bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0) Z2 = mlab.bivariate_normal(X, Y, 1.5, 0.5, 1, 1) Z = 10.0 * (Z2 - Z1) norm = cm.colors.Normalize(vmax=abs(Z).max(), vmin=-abs(Z).max()) cmap = cm.PRGn levels = np.arange(-2.0, 1.601, 0.4) fig, axes = plt.subplots(1,2, sharey=True) for ax, zord in zip(axes, [1, -1]): ax.contourf(X, Y, Z, levels, cmap=cm.get_cmap(cmap, len(levels)-1), norm=norm) ax.autoscale(False) # To avoid that the scatter changes limits ax.scatter(np.random.uniform(-3,3,10), np.random.uniform(-2,2,10), zorder=zord) ax.set_title('Scatter with zorder={0}'.format(zord))
您可以使用^{} 参数(例如
scatter
方法)手动选择不同绘图的显示顺序。为了演示,请参见下面的代码,其中左侧子块中的散点图有
zorder=1
,右侧子块中的散点图有zorder=-1
。具有最高zorder
的对象放在顶部。这意味着散射将被放置在第一个子块的轮廓顶部,而它被放置在第二个子块的下面。相关问题 更多 >
编程相关推荐