为什么matplotlib中的像素量化似乎对线和点的工作方式不同?

时间:2017-06-07 21:06:36

标签: python matplotlib

我试图将图表中的某些数据划分为四个象限,并且我在边界附近得到了一个有趣的行为。这是一个简单的例子:

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

np.random.seed(123)
xy = np.random.randn(100000,2)
ofs = 6.0
x0 = 0
y0 = 0
x = xy[:,0]
y = xy[:,1]
w = 2
plt.figure(figsize=(10,8))
f = plt.plot
for k,color in [(0,'green'),
                (1,'red'),
                (2,'orange'),
                (3,'yellow')]:
    sx = (k&1)*2-1
    sy = (k&2)-1
    ii = ((x-x0)*sx>=0) & ((y-y0)*sy>=0)
    f(x[ii]+ofs,y[ii]+ofs,'.',markersize=w,color=color)
f(plt.xlim(),[y0+ofs,y0+ofs],'--k',linewidth=w)
f([x0+ofs,x0+ofs],plt.ylim(),'--k',linewidth=w)

enter image description here

点和线的宽度相同,所以虽然我希望虚线显示红色/橙色/黄色背景(因为这些点最后绘制),为什么我能看到橙色和黄色下面虚线? ("以下" =垂直下方,而不是下面的z顺序)

0 个答案:

没有答案