我试图制作一个散乱点的情节。 我想在(xy)计划中显示特定区域。 我已经看过如何使用axhspan和axvspan,但它产生的彩色区域总是隐藏我的观点。 我的意思是,我可以看到我的点将alpha设置为不同于1的值,但是它们的颜色会被axhspan颜色改变。
有没有办法把这个区域放在图的背景中?
答案 0 :(得分:3)
如果不确切地知道自己在做什么,很难确定(发布minimal, complete, verifiable example总是一个好主意!),但它确实如此。可能你想使用zorder将你正在绘制的内容带到顶部。较高的zorder朝向前方(http://matplotlib.org/examples/pylab_examples/zorder_demo.html)。
因此,例如,如果您想要在前面显示散点图,则应添加zorder参数,如下所示:
plt.scatter(X, Y, zorder = 10)
答案 1 :(得分:2)
使用zorder
关键字。使你想要的东西的zorder
高于你想要的背景。
import matplotlib.pyplot as plt
import numpy as np
x=np.random.rand(100)
y=np.random.rand(100)
fig,(ax1,ax2)=plt.subplots(1,2)
# zorder of the points is higher, they will be on top of the axhspan
ax1.axhspan(0.25, 0.75, facecolor='r',zorder=1)
ax1.plot(x,y,'ko',zorder=2)
# zorder of the axhspan is higher, so it will be on top of the points
ax2.axhspan(0.25, 0.75, facecolor='b',zorder=2)
ax2.plot(x,y,'ko',zorder=1)
fig.savefig('zorder.png')